Skip to Content
Suffering builds character
아카이브13.프로세스,스레드특징스레드 특징3. 싱글 스레드와 멀티 스레드의 차이

3. 싱글 스레드와 멀티 스레드의 차이

싱글 스레드로 동작하는 프로세스와 멀티 스레드로 동작하는 프로세스의 메모리 구조는 각각 다음과 같이 비교할 수 있음

1. 싱글 스레드 프로세스

싱글 스레드로 동작하는 프로세스에서는 혼자서 Stack, Heap, Data, Code 영역을 사용함
→ 개발자가 별도의 스레드를 생성하는 경우만을 전제로 함

2. 멀티 스레드 프로세스

멀티 스레드로 동작하는 프로세스에서는 Heap, Data, Code 영역을 공유하며, 자신만의 독립적인 Stack 영역과 Registers를 가짐

Note

Registers

다음에 실행될 명령어 주소를 저장하는 PC Register 및 스레드 스택 상단의 위치를 저장하는 Stack pointer 등

CPU가 명령어 실행 시 참조할 개별 스레드들의 고유한 컨텍스트 정보를 가진 영역

3. 멀티 스레드 환경에서 메모리가 공유되는 영역

정리하면, 개별 스레드의 고유한 컨텍스트 정보를 담고 있는 RegistersStack을 제외한 Heap, Data, Code 영역은 개별 스레드들이 공유하는 자원이라고 볼 수 있음

Last updated on