司机与售票员的进程同步问题
在公共汽车上,司机和售票员的工作流程如图所示。
为保证乘客的安全,司机和售票员应 密切配合协调工作。
请用信号量来实现司机与售票员之间的同步。
司机 启动车辆 正常行车 到站停车
售票员 关车门 售票 开车门
图 司机和售票员工作流程图
在这个问题中没有资源的抢夺,所以无互斥信号量。
司机和售票员是同步关系,司机需要接收门是否关好的信号量,而售票员需要接收车是否到站的信号量。
活动顺序:关车门->启动车辆->售票->到站停车->开车门
初始状态为:停车且门未关。
流程:售票员给司机关门的信号,司机收到后开始正常行驶车辆,到站时由司机给售票员停车的信号。
解:设关门信号量为door=0,停车信号量为stop=0。