본문 바로가기
개인공부

Process & Thread

by 리승우 2022. 12. 17.

우선 Program이란?

> 실행되기 전 상태의 명령어, 코드 및 정적인 데이터들의 묶음

> 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일

 

Process

> 운영 체제 위에서 실행 중인 Program

> 운영체제로부터 시스템 자원을 할당 받는 작업의 단위

 

 

Thread

> 프로세스 내에서 실행되는 흐름의 단위

> CPU 이용의 기본 단위

> Text, data, heap 영역을 공유

> 각 thread는 별도의 stack 영역을 가짐

 

 

Multi Thread

> 프로세스의 자원을 공유

> 향상된 응답성

> Context Switching 비용이 적음

> 자원을 공유하는만큼, 충돌을 주의해야함 (Thread-safe하게 해야함!)

 

Multi Process

> 하나의 작업을 여러 개의 프로세스가 처리

> 프로세스간 통신

> Context Switching 비용이 큼

> 자식 프로세스 중 하나가 문제가 생겨도 다른 프로세스에 영향이 없음 (ex. 구글 크롬)

 

 

'개인공부' 카테고리의 다른 글

Java / Call by Value, Call by Reference  (0) 2022.12.21
TCP & UDP  (0) 2022.12.18
오버로딩, 오버라이딩 정리  (0) 2022.12.15
JVM 구조 정리  (0) 2022.12.14
생성자와 변수의 초기화 정리  (0) 2022.12.13

댓글