프로세스는 두 가지 특성이 있다. 1. 자원 소유권 프로세스는 할당받은 자원을 소유하는 일종의 컨테이너이다. ( 주소공간, 프로그램 코드, 전역변수, Heap, OS 자원 ) 2. 스케줄링 / 수행 프로세스는 우선순위를 가지며 OS에 의해 스케줄링되어 처리기를 할당받는다. 프로세스는 방대한 크기를 가진다. 정해진 시간에 한번에 처리가 불가능하므로 작은 단위로 나누는데, 이때 나누어진 경량 프로세스가(light process)가 쓰레드(Thread)이다. 쓰레드는 OS가 처리기에 디스패칭하는 단위이다. 하나의 프로세스는 여러 개의 쓰레드로 나뉜다. 그러나 자원 소유권은 하나의 프로세스가 갖는다. 그러므로 여러 개의 쓰레드는 하나의 자원을 공유한다. 이렇게 하나의 프로세스 내에서 여러 개의 쓰레드가 동작할 ..