C++-기초개념[쓰레드(thread)의 기초와 실습, 뮤텍스(Mutex)와 조건 변수(Condition Variable)]


C++-기초개념[쓰레드(thread)의 기초와 실습, 뮤텍스(Mutex)와 조건 변수(Condition Variable)]

프로세스와 쓰레드 CPU 코어에서 돌아가는 프로그램 단위를 쓰레드(Thread) 라고 부른다. 즉, CPU 의 코어 하나에서는 한 번에 한 개의 쓰레드의 명령을 실행시키게 된다. 프로세스는 여러 개의 쓰레드로 이루어지는데, 프로세스와 쓰레드의 차이는 메모리를 공유하느냐 하지 않느냐의 차이이다. 각 코어에서는 코어가 돌아가는데, 컨텍스트 스위칭 (Context Switching) 을 통해 쓰레드가 번갈아가며 실행된다. 병렬화(Parallelizable) 가능한 작업 쓰레드를 이용해 병렬화를 적용하면 더욱 빠른 작업이 가능한 경우가 있다. 예를 들어, 다음과 같이 피보나치 수열을 구하는 프로그램이 있다고 가정해 보자. #include int main() { int bef = 1, cur = 1; for (i..


원문링크 : C++-기초개념[쓰레드(thread)의 기초와 실습, 뮤텍스(Mutex)와 조건 변수(Condition Variable)]