
멀티스레드 프로그래밍과 ThreadSafe
·
운영체제
멀티스레드 프로그래밍이란?하나의 프로세스 내에 여러 쓰레드가 동시에 작업을 수행하는 것TIP: 프로세스의 성능이 단순히 스레드의 개수에 비례하는 것은 아니며, 하나의 스레드를 가진 프로세스 보다 두 개의 스레드를 가진 프로세스가 오히려 더 낮은 성능을 보일 수도 있음 멀티 태스킹과 멀티스레드 멀티 태스킹이란 여러개의 프로세스가 동시에 작업을 수행하는 것이다. 여러 프로세스도 동시에 작업을 수행할 수 있지만 다음과 같은 단점을 가진다. 프로세스간 일어나는 컨텍스트 스위칭이 매우 복잡함프로세스간 데이터 공유가 어려움(IPC와 같이 Kernel이 직접 개입해야하기 때문)듀얼 코어 활용이런 단점을 극복하고자 멀티 스레드 등장 같은 프로세스 내의 스레드 사이의 컨텍스트 스위칭은 비교적 가벼움메모리를 공유 멀티스레..