设公共汽车上 司机和售票员的活动分别是: 司机的活动: 启动汽车
司机,售票员,公共汽车
已帮助 人
设公共汽车上,司机和售票员的活动分别是: 司机的活动: 启动汽车 正常行车 到站停车 售票员的活动: 关车门 售票 开车门 在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?请用信号量机制实现他们的同步。
请帮忙给出正确答案和分析,谢谢!
-
正确答案:司机和售票员的活动有着直接的相互制约关系司机只有等到售票员关好了门才能启动汽车售票员只有等司机停好了车才能开门。所以他们的活动需要同步。 semaphore start=stop=0: driver(){ //司机进程 while(1){ wait(start); 启动汽车 正常行驶 到站停车 signal(stop); } } conductor(){ //售票员进程 while(1){ 开车门 等乘客上下车 关车门 signal(start); 售票 wait(stop); } }
司机和售票员的活动有着直接的相互制约关系,司机只有等到售票员关好了门才能启动汽车,售票员只有等司机停好了车才能开门。所以他们的活动需要同步。semaphorestart=stop=0:driver(){//司机进程while(1){wait(start);启动汽车正常行驶到站停车signal(stop);}}conductor(){//售票员进程while(1){开车门等乘客上下车关车门signal(start);售票wait(stop);}}
