[운영체제] 멀티프로세스 대신 멀티 스레드를 사용하는 이유
멀티프로세스란 여러개의 시피유가 한 개 이상의 여러개 프로세스를 동시에 실행하는것을 말한다. 각 프로세스가 독립된 주소공간을 가져야 하거나 독립된 메모리 공간을 가져야 할 때 사용한다. 멀티프로세스는 하나의 프로세스가 비 정상적으로 종료되어도 다른 프로세스에 심각한 영향을 주지 않는다. 멀티스레드는 하나의 프로세스 안에서 여러개의 스레드가 자원을 서로 공유하며 작업을 수행하는 것이다. 만약 멀티 프로세스 대신 멀티 스레드를 사용하는 상황이라면 그 이유는 멀티스레드의 경우 프로세스를 생성한 후 각각 자원을 할당할 필요가 없고 스레드끼리 자원을 공유하기 때문에 자원관리가 효율적이다. 각 스레드끼리는 스택영역을 제외한 메모리 영역을 공유하므로 통신 비용이 적어서 프로그램 응답시간이 빠르다. 다만 병목현상 , ..