互斥和同步练习题解析课件.ppt
《互斥和同步练习题解析课件.ppt》由会员分享,可在线阅读,更多相关《互斥和同步练习题解析课件.ppt(18页珍藏版)》请在三一办公上搜索。
1、互斥和同步练习题,例1.在一个仅允许单向行驶的单排车道十字路口,只允许车辆从南向北和从西向东行驶,如图8.1所示;为了安全起见,每次仅允许一辆汽车通过十字路口;当有车辆通过路口时其它车辆必须等待,当无车辆在路口行驶时则一次仅允许一辆汽车通过。请用P、V原语及信号量实现十字路口的交通控制系统,并描述具体的控制算法。,设一信号量sem表示是否允许汽车通过,初值为1,表示允许汽车通过。设入口检测进程procedurein,出口检测进程procedureout,它们的描述如下:procedurein() begin L1:检测到有一辆车要进入路口 P(sem) 允许进入路口 goto L1 endpr
2、ocedureout() begin L2:检测到有一辆车驶出路口 V(sem) goto L2 end,例2:设存在三个过程get、copy和put分别对缓冲区S和T进行操作,其中get负责将数据块存入缓冲区S,copy负责从缓冲区S读出数据并复制到缓冲区T中,put负责从缓冲区T中读出数据并打印,如图2所示。请用P、V操作描述上述三个过程。,解:设信号量SGC表示缓冲区S是否允许放数据,值为1时表示允许,初值为1; 信号量SCG表示缓冲区S是否允许取数据,值为1时表示允许,初值为0; 信号量SCP表示缓冲区T是否允许放数据,值为1时表示允许,初值为1; 信号量SPC表示缓冲区T是否允许取数
3、据,值为1时表示允许,初值为0。,get()begin L1:取存入缓冲区S的数据x P(SGC) 把数据x存入缓冲区S中 V(SCG) goto L1end,copy()begin L2: P(SCG) 把缓冲区S的数据存入x中 V(SGC) P(SCP) 把数据x要存入缓冲区T中 V(SPC) goto L2end,ut()begin L3:P(SPC) 把缓冲区T的数据存入x中 V(SCP) 打印数据x goto L3end,例3:试用信号灯与PV操作实现司机与售票员之间的同步问题。设公共汽车上有一个司机和一个售票员,司机负责驾驶汽车,售票员负责开关车门,他们之间必须协同工作。一方面售票
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 同步 练习题 解析 课件

链接地址:https://www.31ppt.com/p-1605376.html