Process VS Thread
프로세스(Process)
OS로 부터 메모리에 적재되서 CPU의 할당을 받을 수 있는 상태로써, 실행중인 프로그램을 의미한다.
스레드(Thread)
프로세스 내에서 실행되는 단위를 의미한다.
Process와 Thread의 공통점
- 프로세스와 스레드 모두 실행흐름이다.
Process와 Thread의 차이점
차이 | 프로세스 | 스레드 |
---|---|---|
자원 할당 여부 | 실행시 마다 새로운 자원을 할당 | 자신을 실행한 프로세스의 자원을 공유 |
자원 공유 여부 | 자원을 공유하지 않음. 같은 프로그램의 프로세스 일 경우 Code를 공유하기는 함 | 같은 프로세스들은 스택을 제외한 나머지 세 영역을 공유 |
주소 소유 여부 | 별개의 주소 공간 | 주소 공간을 공유 |
통신 여부 | IPC방법으로만 통신 | 자유롭게 다른 스레드와 통신 |