본문 바로가기

취업/준비

프로세스 VS 스레드 (메모리 상의 차이)

사실 아래 그림들로도 대부분의 의문은 해결된다.

프로세스 VS 스레드
single-threaded process VS multithreaded process

프로세스

레지스터, 스택, 힙, 전역변수, 코드, 데이터 영역을 갖는다.

스레드

레지스터, 스택 공간은 스레드마다 별도로 갖지만 힙, 전역변수, 코드, 데이터 영역은 프로세스 안에서 공유한다.

 

스레드에서 힙, 전역변수, 코드, 데이터 영역은 공유하기 때문에 동기화 문제에 대한 처리를 잘 해주어야 한다. 

 

 

동기화 문제를 해결하기 위해 세마포어나 뮤텍스로만 접근해야할까? 궁금하면 아래 글을 보자.

2019/10/24 - [취업/준비] - 그래서 동기화 문제를 어떻게 해결할건데?