资 源 简 介
有一群生产者进程在生产消息,并将此消息提供给消费者进程去消费,为使生产者进程和消费者进程能并发执行,生产者与消费者可以通过一个环形缓冲池联系起来,环形缓冲池由n个大小相等的缓冲区组成,每个缓冲区容纳一个消息。每个生产者可不断地每次往缓冲池中送一个消息,而每个消费者则可不断地每次从缓冲池中取出一个消息消费。尽管所有的生产者进程和消费者进程,都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取消息,也不允许生产者进程向一个已装有消息且尚未被取走消息的缓冲区中投放消息。请用信号量及PV操作实现这一组进程的工作过程。