有三个进程P1,P2,和C,它们共享一个缓冲区buf,进程P1反复地从设备上读一个记录信息,并将其存入buf;P2反

复地从另一个设备上读一个记录信息,也将其存入buf,进程C将buf中的记录信息取出,并加工处理。如果buf只能存储一个记录,只有在进程C读取信息后,才能存储下一个记录,同... 复地从另一个设备上读一个记录信息,也将其存入buf,进程C将buf中的记录信息取出,并加工处理。如果buf只能存储一个记录,只有在进程C读取信息后,才能存储下一个记录,同时规定,P1或P2不能连续两次向buf存放记录,且在初始状态它们中哪一个先向buf存放信息都是允许的。请用信号量机制实现进程P1,P2和C的并发执行 展开
 我来答
梦里寻你我他
2013-04-22 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1212万
展开全部
加标记位
flag1=false
flag2 =false
flag3 =true

每次p1要存buf动作,判断flag3是否为true并判断flag1是否为false,如真则存,然后将flag1标记为true,flag3标记为false

每次p2要存buf动作,判断flag3是否为true并判断flag2是否为false,如真则存,然后将flag2标记为true,flag3标记为false

每次进程c判断flag1or flag2是否为true,则读取数据,然后标记flag3=true
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式