우선 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 |
댓글