问答题
如下图所示,get、copy和put三进程共用两个缓冲区s、t(其大小为每次存放一个记录)。get进程负责不断地把输入数据送入缓冲区s中,copy进程负责从缓冲区s中取出记录然后复制到缓冲区t中,put进程负责从缓冲区t中取出然后打印。试用p、v操作实现这三个进程的同步,写出程序描述。
【参考答案】
该题可以分成两部分,一部分是get进程与copy进程共享单缓S,另一部分copy进程与put进程共享单缓t,对于第一部分......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
有3个并发进程R、M、P,它们共享同一个缓冲区,假定缓冲区只能存放一条记录。进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。读入的记录经加工输出后,缓冲区又可以存放下一个记录。试写出他们能够正确执行的并发程序。
点击查看答案
问答题
试修改下面消费者生产者问题解法中的错误 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
点击查看答案
相关试题
三个进程P1,P2,P3互斥使用一个包含N(...
用相应的PV操作实现下图中的前趋图。
在一个单处理器的计算机系统中,有四个进程...
请用信号量解决以下的“晕独木桥”问题:同...
系统中有5个进程P1,P2,P3,P4,P5...