우리가 흔히 다중 작업을 떠올려본다면 fork를 이용하여 여러개의 프로세스를 생성하여 각각 작업을 하는 것을 떠올릴 것이다. 근데 프로세스를 새로 생성한다는 것은 생각보다 무거운 작업이다. 그래서 스레드라는 것이 나온다. 스레드는 하나의 프로세스가 여러개의 작업을 동시에 할 수 있도록 해주는 것이다. 이렇게 하나의 프로세스에 여러개의 스레드를 둔다면, 프로세스가 동시에 여러가지 작업을 할 수 있게 된다. (시간을 쪼개어 CPU 점유를 분할하는 것임) 아파치 웹서버를 예를 들어보자. 위 처럼 웹서버 같은 데서는 스레드를 이용하여 여러 명의 사용자와 세션을 맺어 다중 처리 서버를 구현할 수 있다. 스레드는 다른 영역은 공유하지만, 스택영역은 별개로 쓴다. 그리하여 fork 보다 훨씬 효율적이다. 스레드간에..