프로세스는 운영체제부터 자원을 할당받는 작업 단위 스레드는 프로세스가 할당받은 자원을 이용하는 실행 단위 하나의 프로세스가 생성되면 하나의 프로세스가 같이 생성되며 이를 메인스레드라고 한다 . 프로세스는 자신만의 고유 공간과 자원을 할당 받아 사용하지만 스레드는 다른 스레드와 한 프로세스 내에 주소공간이나 자원들을 공유하며 실행 된다 . 이 때문에 멀티 프로세스를 이용하여 처리하던 일을 멀티 스레드로 구현하면 프로세스를 생성하여 1) 자원을 할당 하는 시스템 콜이 줄어들게 되며 2) 프로세스 간의 통신보다 스레드 간의 통신 비용이 적어 공간과 자원 소모가 훨씬 줄어든다 .