본문 바로가기
CS Study

[운영체제] 멀티 프로세스/스레드의 동기화 문제 해결법

by 창브로 2024. 9. 24.
728x90

동기화 문제란?
메모리 영역을 공유하기 때문에 여러 스레드가 동시에 접근하여 이상한 값을 읽거나 수정하는 문제

 

Mutex

- 한개의 스레드만이 공유 자원에 접근할수 있도록 하는 방법

- 하나의 스레드가 lock을 걸고 사용, unlock까지 다른 스레드들은 사용 불가

 

Semaphore

- S개의 스레드만이 공유 자원에 접근할 수 있도록 제어 (S개 이상은 불가)

- S의 값을 스레드가 접근하면 S-- 나가면 S++ (즉 S가 0 이면 더 이상 못들어옴)