为什么要解决生产者 - 消费者的有界缓冲实例,为什么需要两个信号量和一个静音



为什么在生产者消费者问题中使用有界缓冲区时,为什么还必须使用互斥品?

empty:semaphore(n)
full: semaphore(0)
mutex: semaphore(1)

" Mutex"用于锁定缓冲区。

"完整"用于阻止消费者,如果缓冲区为空。

"空"用于阻止生产者,如果缓冲区已满。

这就是为什么您需要3个信号量。

您可以轻松地搜索代码,因此我不在此处粘贴它。

最新更新