问答题

有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则:
(1)生产者和消费者对缓冲区的访问互斥;
(2)对每1条放入缓冲区的消息,所有消费者都必须接收1次;
(3)缓冲区满时,生产者必须阻塞,缓冲区空时,消费者阻塞。
请用信号量和P、V操作组织正确的发送和接收。用类c语言进行描述。

【参考答案】

[解答] 本题的解答采用分离的信号量来实现,可以比较清楚地看到操作的过程。