오늘은 이전 글에서 다룬 semaphore를 어떻게 활용하는 지에 대해서 조금 더 자세히 알아보겠습니다. Semaphore는 기본적인 critical section problem을 해결하는데 사용됩니다. 이전 글에서 언급했지만, 한 번 더 확인해봅시다. 우리에게 익숙한 Producer, Consumer 문제를 예로 들어보겠습니다. semaphore counter = 0; final int BUFFER_SIZE = 10; semaphore empty = BUFFER_SIZE; semaphore mut_ex = 1; void producer(){ while(true){ produce(); semWait(empty); semWait(mutex); append(); semSignal(mut_ex); semSig..