问答题

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

【参考答案】

(1)缓冲区是一互斥资源,因此设互斥信号量mutex。
(2)同步问题:P1、P2因为奇数的放置与取用而同步,......

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