본문 바로가기

NHN 아카데미

Process & Thread

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