设一辆公共汽车上,司机和售票员的活动分别是 :司机:启动车辆,正常行车,到站停车;售票 员:上乘客,
设一辆公共汽车上,司机和售票员的活动分别是 :司机:启动车辆,正常行车,到站停车;售票 员:上乘客,设一辆公共汽车上,司机和售票员的活动分别是:司机:启动车辆,正常行车,到站停车;售票员:上乘客,关车门,售票,开车门,下乘客.在汽车不断地到站,停车,行驶的过程中,这两个活动有什么同步关系?并用wait和signal原语操作实现它们的同步
最佳回答
第一步:确定进程间的关系。售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆。在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车。因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步。 第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断是否关车门,司机能否启动车辆,初值为1。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0 第三步:确定P(wait)、V(signal)操作的位置 司机操作中,是否关门?没关则等待,这是一个P操作,P(run); 司机操作中,设立停车标志,这是一个V操作,V(stop); 售票员操作中,是否停车?没停则等待,这是一个P操作,P(stop); 售票员操作中,设立关门标志,这是一个V 操作,V(run) lstop ,run:semaphore run:=1; //是否关车门 stop:=0; //是否停车 Driver:begin cobegin driver:begin L1:P(run); 启动车辆; 正常行车; 到站停车; V(stop); goto L1; end; Conductor:begin L2:上乘客; 关车门; V(run); 售票; P(stop); 开车门; 下乘客; goto L2; end; coend; end;
最新回答共有2条回答
-
2026-04-08 01:30:20聪慧的大叔
回复第一步:确定进程间的关系。售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆。在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车。因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步。 第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断是否关车门,司机能否启动车辆,初值为1。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0 第三步:确定P(wait)、V(signal)操作的位置 司机操作中,是否关门?没关则等待,这是一个P操作,P(run); 司机操作中,设立停车标志,这是一个V操作,V(stop); 售票员操作中,是否停车?没停则等待,这是一个P操作,P(stop); 售票员操作中,设立关门标志,这是一个V 操作,V(run) lstop ,run:semaphore run:=1; //是否关车门 stop:=0; //是否停车 Driver:begin cobegin driver:begin L1:P(run); 启动车辆; 正常行车; 到站停车; V(stop); goto L1; end; Conductor:begin L2:上乘客; 关车门; V(run); 售票; P(stop); 开车门; 下乘客; goto L2; end; coend; end;
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
