请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当某一方向 有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥
将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。则具体描述如下:

将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。则具体描述如下

Var SA,SB,mutex:semaphore:=1,1,1;    CountA,countB:integer:=0,0:    begin    parbeginprocess A: begin   wait(SA);  if(countA=0) then wait(mutex):countA:=countA+1; signal(SA);过独木桥; wait(SA);      countA:=countA-1;              if(countA=0) then signal(mutex); signal(SA);end  process B: beginwait(SB); if(countB=0) then wait(mutex); countB:=countB+1;signal(SB); 过独木桥;wait(SB);countB:=countB-1;      if (countB=0) then signal(mutex); signal(SB);endparendend

操作系统(独木桥问题)相关推荐

  1. 操作系统独木桥问题解法

    假定有如下独木桥问题:过桥时,同一方向的行人可连续过桥,当某一方有人过桥时,另一方向的行人必须等待:当某一方向无人过桥时,另一方向的行人可以过桥.试用信号量机制解决. 需要设置几个信号量?分别是互斥信 ...

  2. twitter加载很慢_我很高兴加入Twitter的6个理由

    twitter加载很慢 For the longest time I refused to do the Twitter thing. Looking back it seems stupid but ...

  3. 操作系统-PV操作-独木桥问题

    操作系统-PV操作-独木桥问题 前言 问题描述 解决思路 伪代码实现 改造题型 解决思路 伪代码实现 总结 前言 在操作系统中,使用pv操作实现进程的同步和互斥是进程管理的重要内容.pv操作不仅是本科 ...

  4. 对操作系统汽车过独木桥问题的吐槽

    在操作系统教程的课后题上看到汽车过独木桥问题,但这个问题问的总感觉有问题,在这里吐槽一下. **独木桥问题1:**东西向汽车驶过独木桥,为了保证交通安全,只要桥上无车,则允许一方的汽车过桥,待其全部过 ...

  5. 操作系统 第二章【记录型信号量机制、独木桥问题】【MOOC答案】

    目录 第1题 第2题 第3题 第4题 第1题 1( 30分 ) 简述生产者消费者问题的解决方案,并说明用记录型信号量机制解决生产者消费者问题时Wait()操作的次序不当会在什么情况下引发死锁. 得分指 ...

  6. 操作系统-用信号量解决过独木桥问题

    题:请用信号量解决以下的"过独木桥"问题:同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待:当某一方向无人过桥时,另一方向的行人可以过桥. 解答: 信号量br ...

  7. 操作系统,独木桥问题,PV操作

    问题 独木桥问题1:东西向汽车过独木桥,为了保证安全,只要桥上无车,车过桥,待一方的汽车全部过完后,另一方的汽车才允许过桥.请用信号量和PV操作来写出汽车过独木桥问题的同步算法. 思路 首先对于东西两 ...

  8. 操作系统经典独木桥问题

    问题描述 相传杭电和理工中间有一条狭窄的南北通道,该通道同一个方向行人可连续通过:当某一方向有学生过通道时,另一个方向的学生必须等待:当某一方向无学生过通道时,另外方向的学生可以过通道.(用信号量解决 ...

  9. 大叔也说并行和串行`性能提升N倍(N由操作系统位数和cpu核数决定)

    并行是.net4.5主打的技术,同时被封装到了System.Threading.Tasks命名空间下,对外提供了静态类Parallel,我们可以直接使用它的静态方法,它可以并行一个委托数组,或者一个I ...

最新文章

  1. MapGuide应用开发系列(五)---- Autodesk MapGuide Studio应用简介
  2. stm32+lwip(四):网页服务器测试
  3. Java Jvm虚拟机的内存模型概述 《对Java的分析总结》(一)
  4. Halcon的应用程序 打开后 弹出没有帮助文件错误提示
  5. UI-Day02--昨日作业代码(二)
  6. 随想录(scons编译)
  7. My SQL随记 001 常用名词/结构化语言
  8. ubuntu14.04安装V-REP和用户使用手册
  9. 部署SCOM2012 SP1
  10. Android studio 老虎机小游戏
  11. AutoCAD Civil 3D 2015-2020
  12. 开源硬件童芯派了解一下?一个真创客聊聊开源硬件
  13. 爱思助手从苹果服务器shsh失败,什么是SHSH?如何通过爱思助手备份SHSH?
  14. 网络安全产品(一)FortiSIEM
  15. HDMI之EDID使用说明
  16. html5一键导航代码,网页端利用百度地图接口,制作一键导航功能
  17. 喜获蚂蚁offer,定级p7,面经分享,万字长文带你走完面试全过程
  18. html怎么把文字居中6,html5怎么把文字居中
  19. 【STemWin】STM32F103VE单片机用FSMC驱动ILI9341彩色触摸屏(触控芯片XPT2046),并裸机移植STemWin图形库(采用LCDConf_FlexColor.c模板)
  20. Linux环境下限制网速和取消限制网速

热门文章

  1. crack.vbs病毒,u盘里的所有文件全部变成快捷方式
  2. 计算机网络——物理层2
  3. gic stream协议
  4. 与Mr. Zuul男神的亲密接触 | 温哥华峰会Day3
  5. 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
  6. 教你一招轻松搞定mp3格式转换
  7. html5 画布绘制时钟
  8. 华为阿里下班时间曝光:所有的光鲜,都有加班的味道
  9. linux网桥--简介
  10. 我的sulley安装过程