뮤텍스와 세마포어의 차이

공통점 : 동기화 도구

뮤텍스(Mutex) = 상호배제(Mutual Exclusion)

Mutex vs Semaphore

뮤텍스는 쉽게말해 집에 들어갈 수 있는 열쇠를 '하나'만 만들어서 관리하는 것이다.

Locking매커니즘을 사용하여 동일한 시점에 하나의 Thread만 공유자원에 접근 할 수 있게하는 방법이다.

세마포어(Semaphore)

세마포어는 '깃발'이라는 뜻이다.

과거 기차길에서 같은 철로를 이용하는 기차의 순서를 부여하기 위해 깃발을 사용하였는데

그 의미에서 차용되어 사용한다.

뮤텍스는 lock의 형태로 0또는 1의 상태만 나타냈지만 세마포어는 2이상도 가능하다.

Semaphores

세마포어 또한 뮤텍스처럼 0과 1만 같은 binary semaphore가 존재하며

그 이상은 counting semaphore로 분류되어 사용된다.

여러개의 자원을 두고 접근할 수 있는 쓰레드의 갯수를 컨트롤 하는 방법이다.

+ Recent posts