프로세스 내에서 실행되는 흐름의 단위
하나의 프로그램에 여러개의 Thread 를 동시 구성/실행 가능
하나의 프로세스 내에서 모든 Thread 는 기본적으로 같은 주소 공간 ( 메모리 영역 ) 을 공유
Code 영역 → 실행 코드 (읽기 전용)
Data 영역 → 전역/정적 변수
Heap 영역 → 메모리 할당 및 해제 : malloc
, new
/ free
, delete
Stack 영역 → 공유X (함수, 지역/매개 변수..)
⭐ 각 Thread별로 Stack
을 가지고 있음
⭐ 각 Thread별로 Register
을 가지고 있음
Thread Context Switching
Process
& Thread
process : 운영체제로부터 자원을 할당받는 작업의 단위
thread : 할당 받은 자원을 이용하는 실행의 단위 ( 프로세스 내에 여러개 생성 가능 )
Thread
Process