14.1 멀티 스레드 개념 운영체제는 실행 중인 프로그램을 프로세스(process)로 관리한다. 멀티 태스킹(multi tasking)은 두 가지 이상의 작업을 도잇에 처리하는 것을 말하는데, 이때 운영체제는 멀티 프로세스를 생성해서 처리한다. 하지만 멀티 태스킹이 꼭 멀티 프로세스를 뜻하지는 않는다. 하나의 프로세스가 두 가지 이상의 작업을 처리할 수 있는 이유는 멀티 스레드(nulti thread)가 있기 때문이다. 스레드(thread)는 코드의 실행 흐름을 말하는데, 프로세스 내에 스레드가 두 개라면 두 개의 코드 실행 흐름이 생긴다는 의미이다. 멀티 프로세스가 멀티 프로그램 단위의 멀티 태스킹이라면 멀티 스레드는 프로그램 내부에서의 멀티 태스킹이라고 볼 수 있다. 멀티 프로세스들은 서로 독립적이..