semaphore1 [OS] Synchronization Producer-Consumer item buffer[BUFFER_SIZE]; int in = 0; int out = 0; int count = 0; 몇 가지 변수들을 공유하며 producer 와 consumer 의 코드는 위와 같다고 하자. 이 코드들은 BUFFER SIZE − 1 크기의 버퍼를 공유하며 사용하도록 하는 코드이다. 개별적으로 보면 잘 작동할 것 같지만, 동시에 실행하면 문제가 발생할 수 있다. 예를 들어, count 가 5 이고 producer 와 consumer 가 동시에 실행된다면 "count++" 과 "count--" 이후의 count 값이 4, 5, 6 이 될 수 있다. Race Condition "count++" 과 "count--" 의 동시 실행은 위와 같이 이루어 진다. 위.. 2023. 8. 16. 이전 1 다음