- 하나 이상의 스레드에 의해 실행되는 컴퓨터 프로그램1)
- 운영체제로부터 자원을 할당받는 작업의 단위
- 프로세스는 독립된 메모리 영역을 할당받는다.
- 프로세스가 다른 프로세스의 자원에 접근하려면 IPC(프로세스 간의 통신)를 사용해야 한다.
- 프로세스 내에서 실행되는 흐름의 단위2)
- 프로세스가 할당받은 자원을 이용하는 실행의 단위
- 스레드는 각각의 register(PC3))와 stack을 가지고 있다.
- 스레드는 프로세스의 heap, static, code, data 영역을 공유한다.
- code 영역을 공유하기 때문에 한 프로세스 내부의 스레드들은 프로세스가 가지고 있는 함수를 모두 호출할 수 있다.
- heap, data 영역을 공유하기 때문에 IPC 없이도 스레드간의 통신이 가능하다.