- 운영체제 안에 프로세스가 있고, 프로세스 안에 스레드가 있다.
- 프로세스는 실행 중인 프로그램의 인스턴스다.
- 굳이 비교하자면 프로그램 = class, 프로세스 = object
- 프로세스는 서로의 메모리 공간을 간섭할 수 없다.
- 메모리 구성
- 코드: 실행 프로그램의 코드
- 데이터: static
- 힙: 동적으로 할당되는 영역
- 스택: 함수 호출, 지역 변수 등 저장
- 프로세스 내에서 실행되는 작업의 단위
- 스레드는 본인 프로세스의 메모리 영역에 접근할 수 있음
- 프로세스보다는 스레드를 만드는게 가벼움
- 메모리 구성
- 공유 메모리: 같은 프로세스 안의 스레드는 메모리를 공유함
- 개별 스택: 각 스레드는 자신 만의 스택을 가지고 있음
프로그램을 실행한다는 것은? 프로세스 안에 있는 코드가 한줄 씩 실행되는 것
- 하나의 프로세스 안에는 1개 이상의 스레드가 있어야함
- 하나의 프로그램 안에서 동시에 여러 작업이 필요하다.