设有一个售票大厅可容纳200人购票,如果厅内不足200人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。

1 分析:既有互斥也有同步

互斥:大厅容纳200人,相当于缓冲池,临界资源

同步:到达大厅容量200人后,其它人不可进入(不能生产);大厅没人时,无人购票离开(消费)

2 基本思想:利用生产者与消费者模型完成

3 形式化描述:

Semaphore empty=200, mutex=1, full=0;
等待者:
While(1)
{大厅外等待; P(empty);p(mutex);进入大厅; V(mutex);V(full);
}
购票者:
While(1)
{P(full);p(mutex);离开大厅; V(mutex);V(empty);使用数据;
}

使用PV操作描述售票大厅相关推荐

  1. 顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作。

    顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作. ...

  2. 城市道路十字路口的通行规则是“红灯停,绿灯行”,请用信号量和PV操作描述交通信号灯和汽车通过十字路口的同步行为

    城市道路十字路口的通行规则是"红灯停,绿灯行",请用信号量和PV操作描述交通信号灯和汽车通过十字路口的同步行为 1)识别那些可以作为进程 信号灯,汽车 2)其次识临界资源,即进程共 ...

  3. 用pv操作描述如下前驱图_跟我学PMP | PV、AC、EV…挣值管理的基本概念都是啥?...

    和挣值管理相关的有三个比较重要的基本概念. 首先是项目的计划价值,简称为PV(Plan Value). 这是为计划工作分配的经批准的预算.它是为了完成某个活动或WBS的组成部分而准备的一份经过批准的预 ...

  4. 用pv操作描述如下前驱图_LinkedList实现分析(二)——常用操作

    上一篇文章LinkedList实现分析(一)--LinkedList初探与对象创建介绍了LinkedList中的一些重要属性和构造方法,下面我们将详细介绍一下LinkedList提高的常用方法的实现原 ...

  5. 操作系统 | PV操作练习题汇总(一)

    前言 这篇文章中整理了一些我们上课时老师给我们布置的一些PV操作的练习题,希望对大家有用处! 信号量有整型信号量(int)和记录型信号量(Semaphore)等,但是我们老师不是对这个很区分,所以这里 ...

  6. 【操作系统】PV 操作经典例题---三个进程之间的同步

    问题: 总共有 读入.执行.打印 三个进程,试用PV操作描述读入B1打印B2的同步过程. 问题解读: 这个问题就是说了这样一件事:一个输入B1,被操作之后,成为B2,将B2打印.怎样用PV操作来说这件 ...

  7. PV 操作经典例题---三个进程之间的同步

    问题: 总共有 读入.执行.打印 三个进程,试用PV操作描述读入B1打印B2的同步过程. 问题解读: 这个问题就是说了这样一件事:一个输入B1,被操作之后,成为B2,将B2打印.怎样用PV操作来说这件 ...

  8. PV操作每日一题-售票问题

    售票问题 一.问题描述 二.问题求解 炒鸡经典的同步问题! 一.问题描述 汽车司机与售票员之间必须协同工作,一方面只有售票员把车门关好后司机才能开车,因此,售票员关好车门应通知司机开车,然后售票员售票 ...

  9. 操作系统中的P-V操作(转)

    信号量是最早出现的用来解决进程同步与互斥问题的机制(也可实现进程通信),包括一个称为信号量的变量及对它进行的两个原语操作.信号量为一个整数,我们设这个信号量为:sem.很显然,我们规定在sem大于等于 ...

最新文章

  1. 人脑动态功能网络连接模式能够鉴别个体并预测其认知功能
  2. 实时获取ccd图像_薄膜瑕疵在线检测系统0.1mm检测精度_实时在线检测
  3. Java oracle 超出打开游标的最大数
  4. 026_图书管理案例
  5. Docker-数据管理
  6. EduCoder Linux之文件/目录搜索
  7. SQL中Truncate的用法
  8. 在Linux下禁用键盘、鼠标、触摸板(笔记本)等输入设备
  9. ext.ajax.request跨域,跨域Ajax访问header中 x-requested-with丢失
  10. http session 基础知识
  11. Linux抓包(wireshark+tcpdump)
  12. lastinsertid mysql_mysql - Go语言中文网 - Golang中文社区
  13. SpringBoot2.x整合Log4j
  14. XP系统开机显示“NTDETECT失败”
  15. python随机数种子seed()的讲解
  16. oracle中的userenv,Oracle 中的userenv()
  17. 【无线科普】802.11n 中HT20 HT40的区别和信道划分及plus,minus含义
  18. DM8168 DMM/TILER简介
  19. 将数字转换成大写金额
  20. 现在有哪些比较好的区块链活动发布平台?

热门文章

  1. 每日辣评:联想和华为相比,为什么口碑差那么多?OFO被追索2.5亿
  2. C#编译出现Program does not contain a static ‘Main‘ method suitable for an entry point 如何解决
  3. 蓝桥杯2016年真题 | Java组
  4. 基于通用优化软件GAMS的数学建模和优化分析实践
  5. MNN windows 编译
  6. python实现将json字幕转srt
  7. 2022-2028全球教室视听系统行业调研及趋势分析报告
  8. 计算机应用基础题【2022江苏计算机专转本】
  9. 云虚拟主机FTP连接不上的解决办法
  10. 常见的统计分析方法汇总,指标对比分析、时间序列预测