본문 바로가기

개발관련/개념 용어

[개념 용어] 프로세스 process 스레드 thread

728x90

 

프로세스 : 

  • 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램.
  • 메모리에 올라와 실행되고 있는 프로그램
  • 운영체제로부터 시스템 자원을 할당받는 작업의 단위
  • 즉, 동적인 개념으로는 실행된 프로그램을 의미
  • 또는 Task 태스크 라고도 부른다.

 

 

 

프로그램 : 

  • 진행 절차를 기록한 명령문의 집합체

 

스레드:

  • 하나의 프로세스 내에서 해당 프로세스가 할당받은 자원을 공유하며 실행되는 독립적인 작업단위
  • 프로세스 내에서 실행되는 여러 흐름의 단위
  • 프로세스가 할당받은 자원을 이용하는 실행의 단위

=> 프로세스의 자원을 참조할 뿐 새로 할당받을 필요가 없기 때문에

     프로세스를 생성하는 것보다 훨씬 빠른 생성 속도를 가진다.

     실제로 프로세스를 생성하는 것보다 기존의 프로세스 내에서 새로운 스레드를 하나 생성하는 것이 67배정도 빠르다고 한다.

(하나의 프로세스에 할당받은 자원의 한계와 효율성의 문제 때문에, 하나의 프로세스 내에 무한정 많은 수의 스레드를 생성할 수는 없다.)

 

 

 

 

 

 

 

https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html

 

[OS] 프로세스와 스레드의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io