세마포어
세마포어(semaphore)는 공유 자원에 접근할 수 있는 프로세스의 수를 정해 접근을 제어하는 방법이다. 세마포어의 작동 방식을 화장실 예에 비유하면 다음과 같다.
▲ 그림 1-20 세마포어 예
① 식당에 화장실 3칸, 화장실을 열 수 있는 열쇠가 3개 있다.
② A가 화장실 열쇠 하나를 가지고 화장실에 간다. 열쇠는 2개가 남는다.
③ B, C가 열쇠를 하나씩 가지고 화장실에 간다. 남은 열쇠가 없어서 D는 화장실에 가지 못한다.
④ C가 화장실에서 나와 열쇠를 돌려놓으면, D가 화장실에 간다.