管程,生产者消费者

有了信号量和互斥量之后,进程间通信看来就很容易了,实际是这样的吗?答案是否定的。考察图2-28点击打开链接中向缓冲区放入数据项以及从中删除数据项之前的down操作。假设将生产者代码中的两个down操作交换一下次序,将使得mutex的值在empty之前而不是在其之后被减1。如果缓冲区完全满了,生产者将阻塞,mutex值为0。这样一来,当消费者下次试图访问缓冲区时,它将对mutex执行一个down操作
相关文章
相关标签/搜索