empty
생산자가 쓸 수 있는 빈 칸 수를 나타냅니다.
세마포어 count와 대기 큐를 통해 빈 버퍼, 찬 버퍼, 임계구역 접근을 순서대로 제어합니다.
생산자가 쓸 수 있는 빈 칸 수를 나타냅니다.
소비자가 가져갈 수 있는 항목 수입니다.
버퍼에 한 번에 하나만 접근하게 합니다.
empty를 기다리고 full을 알립니다.
full을 기다리고 empty를 돌려줍니다.
세마포어 동기화는 잠금 하나가 아니라 자원 개수와 임계구역 보호를 서로 다른 세마포어로 분리해야 명확해집니다.