IT기타
프로세스(Process)와 쓰레드(Thread)의 차이
Ramason
2018. 12. 16. 15:13
프로세스(Process)와 쓰레드(Thread)
프로세스(Process)
프로세스는 컴퓨터에 존재하는 프로그램이 실제 실행되는 것을 의미합니다.
프로그램의 인스턴스라고 할 수 있습니다. 여러개의 쓰레드를 포함할 수 있고 단 프로세스간의 통신은 IPC로 제어됩니다.
쓰레드(Thread)
쓰레드는 CPU 사용의 기본단위 입니다. 한코어에서 하나의 쓰레드가 동작합니다.
쓰레드는 프로세스안의 프로세스 같은 개념입니다. 일반적으로 하나의 프로세스안에 여러개의 쓰레드가 실행되고 이들이 공유하는 내용은 다음의 것들입니다.
- Code
- Data
- Resource
데이터를 공유하고 이 영역을 임계구역(Critical Section) 이라고 합니다. 이부분의 관리가 쟁점이 되고 멀티쓰레드 환경에서 제일 신경써야하는 부분입니다.