뮤텍스(Mutex)
- 제어되는 섹션에 하나의 쓰레드만을 허용하기 때문에 해당 섹션에 접근하려는 다른 쓰레드들을 강제적으로 막음으로써 첫 번째 스레드가 해당 섹션을 빠져나올 떄 까지 기다린다.
세마포어(Semaphore)
- 공유 리소스에 접근할 수 있는 최대 허용치만큼 동시에 사용자 접근을 할 수 있게 한다. 쓰레드들은 리소스 접근 요청을 할 수 있고 세마포어에서는 카운트가 하나씩 줄어들게 되며 리소가 모두 사용 중 인경우(카운트 0) 다음 작업은 대기를 하게 된다. 리소스 사용을 마쳤다는 신호를 보내면 카운트가 하나 늘어나게 되고 다음 작업이 사용 할 수 있다.
[출처] 뮤텍스(Mutex) vs 세마포어(Semaphore)|작성자 SungWook Kang
--------------------
맨날 뮤택스만 써와서 세마포어랑 뭐가 차이나는지 자주 까먹어서리 정리 된 자료 올려봄.
'[ Programing ] > Server' 카테고리의 다른 글
UDP 홀펀칭 (0) | 2013.08.22 |
---|---|
IOCP (0) | 2013.08.22 |
이벤트 객체 CreateEvent, SetEvent, ResetEvent, PulseEvent (0) | 2012.12.04 |
Shared memory (0) | 2010.07.23 |
메모리 락 (0) | 2010.06.29 |