4.3.1 스레드의 기능
제대로 구현됐다는 전제 하에 (프로세스와 비교한) 스레드의 장점과 단점은 다음과 같다.
메모리 오버헤드가 적다(장점)
프로세스는 자신만의 주소 공간, 스레드 집합, 변수 값의 복사본을 갖는 완전히 독립적인 대상이다. 반면 스레드는 부모 스레드가 복제되지 않기 때문에(그저 같은 프로세스에 속할 뿐이다) fork() 함수에 비해(프로세스에 비해) 메모리 오버헤드가 훨씬 줄어든다. 이러한 특성 덕분에 스레드를 경량 프로세스(lightweight process)라고 부르는 경우도 있다.
따라서 같은 시스템에서도 프로세스보다는 스레드를 훨씬 더 많이 만들 수 있다. 그리고 별도의 자원을 할당하거나 해제할 필요가 없으므로 생성하거나 종료하는 데 드는 계산 비용도 스레드 쪽이 훨씬 저렴하다. 이러한 특성 덕분에 CPU 시간이나 메모리를 낭비할 걱정 없이 언제든지 스레드를 만들어 사용할 수 있다.