操作系统复习2.3.5-管程

news/2024/10/24 1:57:00/

引入管程

PV操作困难,容易书写出错,引入管程,作为一种高级同步机制

组成

  • 局限于管程的共享数据结构说明
  • 对该数据结构进行操作的一组过程
  • 对局部于管程的共享数据结构设置初始值的语句
  • 管程有一个名字

基本特征

  • 局限于管程的数据只能被局限于管程的过程所访问
  • 一个进只有通过调用管程内的过程才能进入管程访问共享数据
  • 每次仅允许一个进程在管程内执行某个内部过程

解决消费者问题

在这里插入图片描述
由于编译器保证了进程的互斥执行问题
需要在管程中定义好共享数据和访问入口,每次只会让一个进程/线程进入其中一个入口,这种互斥性由编译器负责实现
在管道设置条件变量以及等待/唤醒操作来解决同步问题

补充

synchronized与管程相当类似


http://www.ppmy.cn/news/211428.html

相关文章

关于性能测试平台的一些想法,想跟大家聊一下

目录 一、任务管理 二、用例管理 三、环境管理 四、压测机管理 五、数据管理 六、监控管理 七、日志管理 八、报表管理 九、配置管理 十、系统管理 组织架构 这里我按照每个不同系统归属的项目组为横向,性能测试团队作为职能部门为纵向的矩阵式组织架构为…

系统应用篇(一)--Settings篇

目录 一、Settings应用的作用和重要性 二、Settings应用的架构和组件 三、Settings应用的定制和扩展 四、总结 一、Settings应用的作用和重要性 Settings应用的作用和重要性如以下表格所示: 作用重要性提供系统设置选项Settings应用是用户在Android设备上访问…

电动车头盔检测系统(毕设)

有没有做这个毕设的伙伴,可以一起交流下(交流群:718700435) 电动车头盔检测系统 技术选型: yolov5pyqtmysql1: 系统:前台检测系统 1.1信息采集 字段 录入 展示 修改 删除1.2实时检测报警 实时画面 违章信息1.3视频留存管理模块 视频保存 视频列表 时间查询2: 后台管理员…

微应用如何实现自动更新提示

首先, 先讲一下本次文章所讲的场景, 经过调研, 公司内部使用后台, 当有需求功能迭代的时候, 通常使用者会没有感知, 使用者只会在浏览器内一直打开这个页面, 当需要使用的时候, 再切换这个tab来使用. 这就导致使用者一直不知道系统更新了, 一直没有访问最新的页面(由于最新页面…

ICV报告:乘光伏新能源汽车之势,功率器件蓄势待发

前言: 电力电子器件(Power Electronic Device),又称为功率半导体器件,用于电能变换和电能控制电路中的大功率(通常指电流为数十至数千安,电压为数百伏以上)电子器件。功率器件能够承受和控制较大电流、电压…

matplotlib实操

matplotlib实操 问题1.分析离网用户的基本特征:包括但不限于地市、年龄、网龄、融合类型、套餐分布、用户价值等,年龄、网龄、用户价值(ARPU)、MOU、DOU;数据预处理处理异常值地市分布县级分布年龄分布网龄分布性别与年龄分布融合类型套餐分布用户价值(ARPU)MOU(每用…

iOS性能优化-异步绘制与异步底层View处理

前言: 基于UIKit的性能优化似乎已经到了瓶颈,无论是使用frame代理snpakit,缓存高度,减少布局层次,diff刷新,压缩图片,选择合适队列,选择高性能锁,也不能满足当前庞大而又…

家用计算机的内存容量大约是多少升,家用旧电脑最佳升级方案:8G内存、混合硬盘足够了!...

在讲加内存条、换硬盘、加固态硬盘之前,内存、硬盘、固态硬盘在广义上属于存储器的一种,它们的主要作用就是存储数据。不过他们之间爷爷很多不同之处,下面先来了解一下他们的基本工作原理。 台式机内存条 在问题中提到的内存,它是…