본문 바로가기

멀티스레딩3

[C/C++ 프로그래밍 : 중급] 13. 스레드 Chapter 13. 스레드 스레드는 어떤 문제를 해결하기 위해 동시에 여러 작업을 수행하는 데 사용됩니다. 스레드의 개념과 필요성부터 시작해, 스레드의 생명주기와 동기화 기술에 대해 배웁니다. 멀티 스레드와 멀티 프로세스의 차이, 스레드의 우선순위 등을 이해하게 됩니다. 또한, 락과 데드락, 그리고 스레드 풀과 조건 변수를 통한 효율적인 스레드 관리 방법에 대해서도 배울 수 있습니다. 뿐만 아니라, C++11에서 제공하는 스레드 라이브러리와 스레드 로컬 저장소, 그리고 스레드 안전성에 대한 고려 사항까지 다루게 됩니다. [Chapter 13. 스레드] 13.1. 스레드 이해하기 13.1.1. 스레드란 무엇인가 13.1.2. 스레드의 필요성 13.1.3. 멀티 스레드와 멀티 프로세스 비교 13.1.4. .. 2023. 6. 14.
[파이썬(PYTHON) : 중급] 동시성과 병렬성 8. 동시성과 병렬성 동시성(concurrency)과 병렬성(parallelism)은 컴퓨팅에서 매우 중요한 개념입니다. 이 두 용어는 프로그램이 여러 작업을 어떻게 처리하냐에 따라 다릅니다. 동시성은 여러 작업이 동시에 시작되어 수행되는 것을 의미하며, 병렬성은 여러 작업이 동시에 실행되는 것을 의미합니다. 8.1 멀티스레딩 멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드가 동시에 작동하는 방식입니다. 이는 여러 작업을 동시에 처리하거나, 또는 사용자와의 상호작용을 유지하면서 백그라운드 작업을 수행하는 등의 목적으로 사용됩니다. 8.1.1 스레드 생성 및 관리 Python에서는 'threading' 모듈을 사용하여 스레드를 생성하고 관리할 수 있습니다. 8.1.1.1 threading 모듈을 이용.. 2023. 5. 11.
[파이썬(PYTHON) : 중급] 네트워크 프로그래밍 (계속) 7. 네트워크 프로그래밍 (계속) 7.5. 멀티스레딩과 소켓 프로그래밍 7.5.1. 멀티스레딩 개념 이해 7.5.1.1. 스레드와 프로세스의 차이 프로세스는 운영체제로부터 자원을 할당받아 독립적으로 실행되는 작업의 단위를 말합니다. 반면, 스레드는 프로세스 내에서 실행되는 독립적인 실행 흐름입니다. 즉, 같은 프로세스 내의 스레드들은 코드, 데이터 섹션 등을 공유하며 실행됩니다. 7.5.1.2. Python에서의 멀티스레딩 활용 Python에서는 threading 모듈을 이용해 멀티스레딩을 구현할 수 있습니다. 다음은 간단한 멀티스레딩 예제입니다: import threading def print_numbers(): for i in range(10): print(i) def print_letters(): .. 2023. 5. 11.