操作系统模拟公交车司机与售票员进程之间的协同关系

这篇博客通过Java多线程模拟了公交车司机与售票员的协同过程。司机和售票员由两个线程表示,利用信号量实现同步。在模拟中,售票员关好车门后通知司机启动,而司机停车后通知售票员开门。通过在10000个时间单位内的交替执行,展示了司机与售票员的交互,最终到达终点站结束。
摘要由CSDN通过智能技术生成

使用java多线程编写代码:

一.实验目的:

用两个进程来模拟汽车司机与售票员之间的协同关系:一方面只有售票员把车门关好了司机才能关门,因此,售票员关好车门应通知司机开车;另一方面,只有当汽车已经停下,售票员才能开门上下客,故司机停车后应通知售票员。汽车当前正在始发站停车上客,试设必要的信号量并赋初值,写出它们的同步过程。

二.实验思路:

建立两个线程driver表示汽车司机,conductor表示售票员,两个线程同时进行。信号变量busseller分别代表汽车和售票员。初始值分别为01。线程driver中将bus=0,seller=1;线程seller中将bus=1,seller=0。在t010000时间内两个进程交替执行,从而模拟司机与售票员的协同关系。

三.实验结果:


The bus is starting from the start station

The seller is selling

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值