IT지식/Computer Science

프로세스와 스레드의 차이

맨땅에헤딩개발자 2025. 1. 30. 19:21

프로세스의 정의와 개념에 대해 알고오시면 도움이 됩니다.

https://steady-snb.tistory.com/50

 

프로세스의 메모리 할당 구조 및 역할

프로세스(process)란? 기계어로 이루어진 .exe파일을 우리는 프로그램이라 하고 실행을 위해 메모리위에서 재구성 하는 것을 프로세스라 한다. 운영체제가 제공하는 메모리 공간은 크게 4가지로

steady-snb.tistory.com

 

 

프로세스(Process)

 

컴퓨터의 메모리에 올라와 실행되고 있는 프로그램

 

하나의 싱글스레드 프로세스와 여러 개의 멀티스레드 프로세스로 나뉩니다.

 

스레드(Thread)

 

프로세스내의 작업의 흐름

 

 

 

프로세스와 스레드의 차이

 

1. 프로세스는 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업하는 반면 스레드는 프로세스 내의 스택 메모리를 제외한 다른 메모리 영역을 프로세스 내의 다른 스레드들과 공유하기 때문에 메모리적 이점이 있습니다.

 

2.프로세스는 각각 독립적인 주소공간을 가지기 때문에 통신을 위해 *IPC가 필요하지만

   스레드는 서로 같은 공간에 있기에 중간 매개체 없이 다이렉트로 통신이 가능함.

* IPC란? https://steady-snb.tistory.com/53

 

 

3. 프로세스는 독립적이기 때문에 한 프로세스에 문제가 생겨도 다른 프로세스에 영향을 끼치지 않지만

   스레드는 한 곳에 문제가 생기면 다른 스레드에도 영향을 끼쳐 스레드로 이루어진 프로세스에 영향을 줄 수 있습니다.

 

4. 프로세스는 생성과 종료에 더 많은 시간이 드는 반면 스레드는 보다 적은 시간이 듭니다.