3-3. 프로세스와 스레드 [02] - 스레드와 멀티스레딩, 공유 자원과 임계 영역, 교착 상태
·
CS 스터디
1. 스레드와 멀티스레딩1) 스레드스레드는 프로세스 내에서 실행되는 가장 작은 단위이자 CPU 스케줄링의 기본 단위이다. 하나의 프로세스는 하나 이상의 스레드를 가질 수 있다. 스레드는 스택과 레지스터만 독립적이고, 코드와 데이터, 힙을 공유한다. 2) 멀티스레딩멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 동시에 생성하고 처리한다. 스레드끼리 서로 메모리 자원을 공유하기 때문에 자원 소모가 적고 통신 비용이 높아 효율성이 높다. 2. 공유 자원과 임계 영역1) 공유 자원공유 자원은 멀티 프로세싱 환경이나 멀티 스레딩 환경에서 동시에 접근하여 사용할 수 있는 데이터나 자원을 의미한다. 하지만, 여러 프로세스나 스레드가 동시에 공유 자원에 접근하여 값을 변경할 때, 실행 순서에 따라 결과가 달..