电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

售票员和汽车司机的进程同步问题

售票员和汽车司机的进程同步问题_第1页
1/9
售票员和汽车司机的进程同步问题_第2页
2/9
售票员和汽车司机的进程同步问题_第3页
3/9
计算机操作系统实验报告 一、实验名称:售票员和汽车司机的进程同步问题 二、实验内容:创建两个进程模拟售票员和汽车司机的同步行为。 具体内容如下: 1. 司机的活动:启动车辆,正常行车,到站停车。 2. 售票员活动:关车门,售票,开车门。 3. 当发车时间到,售票员关好车门后,司机才能启动车辆,售票员才开始售票。当到站时,司机停稳车后,售票员才能打开车门,车上乘客先下车,然后站牌乘客上车。 三、 问题分析与设计 分析:司 机 与 售 票 员 要 协 同 工 作 :一 方 面 只 有 售 票 员 把 门 关 好 之 后司 机 才 可 开 车 , 因 此 售 票 员 关 好 门 之 后 要 通 知 司 机 开 车 , 然 后 售票 ; 另 一 方 面 , 也 只 有 司 机 把 车 停 下 之 后 售 票 员 才 能 开 门 让 乘 客 下车 和 上 车 , 因 此 , 此 时 司 机 应 通 知 售 票 员 。 汽 车 当 前 正 在 始 发 站 停车 让 乘 客 让 乘 客 上 车 , 因 此 , 必 须 设 置 一 定 的 信 号 量 来 实 现 他 们 之间 的 同 步 问 题 。 设 计 : 设 置 司 机 与 售 票 员 的 信 号 量 为 全 局 变 量 , 并 且 客 车 的 人 数 :现 在 人 数 、下 车 人 数 、上 车 人 数 为 全 局 变 量 ; 设 置 司 机 与 售 票 员 的线程。 考虑到第一 站 和 最后 一 站 的 问 题 , 应 单独处理, 故在 各自的线程中分情况讨论: 具体的 思路是下 面 的 图示。 其中 S 1 是司 机 的 信 号 量 , S 2 是售 票 员的 信 号 量 。 程 序 的 实 现 ( 代 码 ) : #include #include #include #include #define Total_num 50 //客 车 的 最 大 容 量 #define Total_pork 8 //总 的 站 数 //全 局 变 量 int Recent_num=0; //某 一时刻的 客 车 上的 人数 int Get_on_num; //上车 的 人数 int Get_off_num; //下车 的 人数 int pork=1; //客 车 到 达 路 线 的 站 数 HANDLE Semaphore_driver; //Driver 的 信 号 量 HANDLE Semaphore_conductor;//Conductor 的 信 号 量 //产 生 一定范围的 随机数 ,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

售票员和汽车司机的进程同步问题

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部