问答题
有3个并发进程R、M、P,它们共享同一个缓冲区,假定缓冲区只能存放一条记录。进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。读入的记录经加工输出后,缓冲区又可以存放下一个记录。试写出他们能够正确执行的并发程序。
【参考答案】
此题类似与生产者消费者问题
由图中可知有三个同步关系:①读进程与加工进程的同步,②加工......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
三个进程P1,P2,P3互斥使用一个包含N(N>0)个单元缓冲区,P1每次用prodLice()生成一个正整数,并用put()送入缓冲区某一空单元中,P2每次用getoodd()从该缓冲区中取出一个奇数,并用countodd()统计奇数个数,P3每次用geteven()从该缓冲区中取出一个偶数,并用Counteven()统计偶数个数,请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义,要求用伪代码描述。
点击查看答案&解析
问答题
试修改下面消费者生产者问题解法中的错误 Producer: Begin Repeat … Produce an item in nextp; Wait(mutex); Wait(empty); Buffer(in):=nextp; (in:=(in+1)mod n;) Signal(mutex); Until false; End Consumer: Begin Repeat Wait(mutex); Wait(full): Nextc:=buffer(out); Out:=out+1; Signal(mutex); Consume item in nextc; Until false; End
点击查看答案
相关试题
p个进程共享m个同类资源,每一个资源在任一...
考虑某个系统在如下时刻的状态。 Allocati...
设系统中有三类资源A.B和C,又设系统中有...
两个进程A和B,每一个进程都需要读取数据库...
我们将只读数据的进程称为“读者”进程,而...