Process VS Thread
Process (프로세스)
- 실행 중인 프로그램을 의미
- 스케줄링의 대상이 되는 작업 - Task 와 같은 의미로 쓰임
- Storage 의 프로그램을 실행 시키면, 실행읠 위해 메모리 할당이 이뤄지고 할당된 메모리 공간으로 바이너리 코드가 올라옴
- 이 순간부터 Process 라고 한다.
- Process 는 하나 이상의 스레드로 구성된다.
Thread (스레드)
- 프로세스와 유사하지만, 메모리의 많은 부분을 공유함
- Thread 별로 Stack과 Register를 가지고 있음
- Thread of Control 을 줄인 말로, 제어의 흐름을 시각적으로 표현

Single Thread
- Main 스레드에서 작업 진행, 작업은 순차적으로
- 하나의 프로세스에서 오직 하나의 스레드로만 실행
- 단일 레지스터와 스택으로 구성
- Context Switching 작업을 요구하지 않음
- 동시성 제어에 대한 처리를 신경 쓰지 않아도 됨
Multi Thread
- 프로그램 내에서 두 개 이상의 동작을 동시에 실행
- 프로세서의 활동을 극대화
- 두 개가 동작을 동시에 실행
- 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유
- 자원의 생성과 관리의 중복성 최소화
- 수행 능력 향상
'NHN 아카데미' 카테고리의 다른 글
| NHN 아카데미 6기 후기 (3) | 2024.07.25 |
|---|---|
| 응답코드 ( HTTP response status code ) (0) | 2024.04.16 |
| Lambda Expression (0) | 2024.03.11 |