问答题

三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getOdd()从该缓冲区中取出一个奇数并用Countodd()统计奇数个数;P3每次用getEven()从该缓冲区中取出一个偶数并用CountEven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。

【参考答案】

这个问题较为简单:与生产者一消费者问题非常类似,只不过涉及的进程多了一个。因此,我们可以用类似于生产者一消费者的解决方法......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)