2024/10 2

멀티쓰레드 프로그래밍 입문

멀티쓰레드는 C++ 프로그래밍 언어 내에 멀티스레드 라이브러리에 존재한다. C++11 에 추가되었으며 표준으로 존재한다. C++ 11에서 지원되기 전에는 각 OS 마다 사용할 수 있는 방법이 달랐다.windows에서는 WIN32 라는 라이브러리에서 지원하는 API를 사용해서 프로그래밍 해야했고, Linux는 pthread API를 사용해서 프로그래밍 했다. 현재는 C++11 에 공개된 라이브러리를 이용하면 된다.  thread 를 지원하는 방법은 각 OS 마다 달랐다.먼저 windows 에서 쓰레드를 어떻게 지원했냐 하면windows 에서 쓰레드는 프로세스를 구성하는 원소이다.모든 프로세스는 시작 시 한 개의 쓰레드를 갖고 실행된다.운영체제가 직접 쓰레드를 스케줄링.멀티 CPU(또는 core)라면 여러..

멀티쓰레드 프로그래밍 소개

오늘날의 컴퓨터는 코어 수에 따라서 직렬 컴퓨터와 병렬 컴퓨터 두 종류로 나눌 수 있다. 직렬 컴퓨터는 Serial Computer라고 하고, Single Core 컴퓨터라고도 한다.하나의 CPU(또는 Core)만을 갖는 컴퓨터로 듀얼 코어가 대중화되기 이전의 대부분의 컴퓨터를 가리킨다.학사 과정에서 배우는 대부분의 컴퓨터공학 지식들은 (자료구조 및 알고리즘) 싱글 코어 컴퓨터를 가정하고 있다.  병렬 컴퓨터는 Parallel Computer 라고 한다.여러 개의 CPU(또는 Core)가 명령을 실행하는 컴퓨터로 직렬 컴퓨터의 속도 제한을 극복하기 위해 제작되었다. 현재 우리가 작성하는 프로그램이 실행되는 컴퓨터이다.  병렬 컴퓨터병렬 컴퓨터는 여러 개의 작업을 보다 더 빨리 실행하기 위해서 ... 는 ..