프로세스(Process)와 쓰레드(Thread)
프로세스(Process)
프로세스는 컴퓨터에 존재하는 프로그램이 실제 실행되는 것을 의미합니다.
프로그램의 인스턴스라고 할 수 있습니다. 여러개의 쓰레드를 포함할 수 있고 단 프로세스간의 통신은 IPC로 제어됩니다.
쓰레드(Thread)
쓰레드는 CPU 사용의 기본단위 입니다. 한코어에서 하나의 쓰레드가 동작합니다.
쓰레드는 프로세스안의 프로세스 같은 개념입니다. 일반적으로 하나의 프로세스안에 여러개의 쓰레드가 실행되고 이들이 공유하는 내용은 다음의 것들입니다.
- Code
- Data
- Resource
데이터를 공유하고 이 영역을 임계구역(Critical Section) 이라고 합니다. 이부분의 관리가 쟁점이 되고 멀티쓰레드 환경에서 제일 신경써야하는 부분입니다.
'IT기타' 카테고리의 다른 글
[아이패드] 아이패드 프로 4세대 12.9 개봉기 (0) | 2020.06.14 |
---|---|
[AdSense] 광고로 부자가 되어보자 tistory 에 Adsense 달기 (No plugIn) (0) | 2019.12.17 |
Mac OS에서 binding 된 port 해제하기 (0) | 2018.12.19 |
병렬성과(Parallelism)과 동시성(Concurrency)의 차이 (0) | 2018.12.16 |
[Mac] 앱 자동 실행(auto launch) 설정하기 (0) | 2018.02.21 |