본문 바로가기
CS

#9. 프로세스(Process)와 스레드(Thread)

by nacjji 2023. 2. 24.

프로세스와 스레드는 운영체제에서 동시에 실행되는 실행단위이지만, 다른 개념을 가지고 있다. 

 

프로세스
  • 운영체제로부터 자원을 할당받아 실행되는 독립적인 프로그램
  • 운영체제가 프로그램을 실행시키기 위해  생성하는 실행 단위
  • 각각의 프로세스는 독립된 메모리 영역을 가지고, 독립적으로 실행된다.
  • 파일, 네트워크 등의 자원을 사용한다.

 

스레드
  • 프로세스 내에서 실행되는 작업 단위
  • 하나의 프로세스는 여러 개의 스레드를 가질 수 있다.
  • 각 스레드는 프로세스 내에서 메모리 영역을 공유한다.
  • 프로세스의 자원을 공유하면서 각각의 스레드는 독립적인 작업을 수행한다.

 

즉, 프로세스는 실행중인 프로그램을 나타내는 단위이며, 스레드는 프로세스 내에서 실행되는 작업 단위이다. 

여러개의 프로세스가 동시에 실행 될 수 있고, 각각의 프로세스는 다른 프로세스와 독립적으로 실행된다. 

각각의 프로세스는 여러개의 스레드를 동시에 가질 수 있고, 각 스레드는 동일한 메모리 공간을 공유한다. 

 

'CS' 카테고리의 다른 글

#11. TCP와 UDP  (0) 2023.02.27
#10. 트랜잭션  (0) 2023.02.27
#8. 파라미터(Parameter)와 아규먼트(Argument)의 차이  (0) 2023.02.24
#7. List, Set. Map, HashMap  (0) 2023.02.23
#6. MSA(Micro Service Architechure)  (0) 2023.02.23