Thread Model

스레드는 같은 프로세스 안에서 코드·데이터·힙을 공유하고 스택·레지스터는 따로 가진다

프로세스는 자원 소유 단위, 스레드는 CPU가 실행하는 흐름 단위로 구분한다.

공유 영역과 독립 영역

프로세스 공용 주소 공간 Code · Data · Heap · 열린 파일

Thread 1

Stack 1 · Register set 1 · PC 1

Thread 2

Stack 2 · Register set 2 · PC 2

Thread 3

Stack 3 · Register set 3 · PC 3

프로세스와 스레드 비교

구분 프로세스 스레드
핵심 역할 자원을 소유하는 독립 실행 단위 프로세스 안에서 CPU가 실행하는 흐름
자원 공유 대체로 독립된 주소 공간 같은 프로세스의 코드, 데이터, 힙 공유
문맥 교환 비용 상대적으로 큼 상대적으로 작음
주의점 프로세스 간 통신은 별도 IPC가 필요 공유 데이터 동기화 문제가 생길 수 있음