공부/CS 공부

프로세스와 스레드의 차이

pekokane 2022. 4. 18. 20:06

 저번 시간에 프로세스, 프로세서, 프로그램의 차이에 대해서 알아보았다. 그래서 저번에 알아본 김에 이번에도 들으면 살짝 헷갈리는 프로세스와 스레드의 차이에 대해서 알아보기로 하였다.

 프로세스란 OS에게 자원을 할당받아 메모리에 적재되어 실행 중인 프로그램을 의미한다고 했다.

 쓰레드란 프로세스 실행 단위이며 이러한 프로세스는 최소 한개 이상의 쓰레드로 구성될 수 있다. 조금 더 쉽게 설명하면 쓰레드란 프로세스 안에서 진행되는 하나의 흐름이며 멀티 쓰레드는 한 프로세스 안에서 여러 개의 흐름이 동시에 진행된다고 생각하면 된다. 주로 동시에 여러 개의 작업을 할 필요성이 있을 때, 멀티 프로세스보단 멀티 쓰레드로 구성하는 것이 구현이 더 쉬워서 이 방식을 채택한다고 한다. 멀티 쓰레드를 구현할 때는 임계 영역 등에 주의하며 프로그램을 작성해야 한다.