16、管程

  • 思维导图
  • 为什么引入管程?
  • 什么是管程?
  • 管程的特点
  • 用管程解决生产者-消费者问题
  • Java 中类似于管程的机制

思维导图

为什么引入管程?

例如上图中,互斥与同步顺序出错就会产生死锁

什么是管程?

剖析一下上面的定义发现:
其实他对管程的定义和类的定义非常的相似
一组过程:就相当于类中的一组操作函数
共享数据结构说明和初始化:就相当于类中的变量声明与初始化
管程的名字:相当于类中的类名

在来看一下,引入管程是因为在对进程实现互斥、同步操作时,P、V操作太过复杂,极易出错。我们需要实现一种简单的机制:通过调用一组过程(函数)直接实现进程的互斥、同步操作。而不在乎进程互斥、同步操作的具体实现。这样,我们只需要对函数进行简单调用就可以实现进程互斥、同步。(封装思想)

管程的特点

用管程解决生产者-消费者问题

Java 中类似于管程的机制

操作系统之进程管理:16、管程相关推荐

  1. 【操作系统】进程管理(五)—— 信号量机制

    [操作系统]进程管理(五)-- 信号量机制 前言 一.信号量机制 信号量机制--整型信号量 信号量机制--记录型信号量 二.用信号量机制实现进程互斥.同步.前驱关系 信号量机制实现进程互斥 信号量机制 ...

  2. 操作系统之进程管理-翟一鸣-专题视频课程

    操作系统之进程管理-192人已学习 课程介绍         主要内容是程序的并发执行及进程的概念,进程的状态及其转换,进程的同步与互斥,进程通信与调度,进程死锁的概念及解决死锁的方法,线程的概念及其 ...

  3. 视频教程-操作系统之进程管理-操作系统

    操作系统之进程管理 1979年出生于甘肃省兰州市,2001年7月本科毕业于西北师范大学计算机科学与技术专业,同年于烟台大学计算机学院任教至今:期间于2006年获得上海交通大学软件工程硕士学位,现为学院 ...

  4. 操作系统笔记——进程管理

    操作系统笔记--进程管理 2. 进程管理 2.1 进程与线程 2.1.1 进程的引入 前趋图 程序的顺序执行 程序的并发执行 2.1.2 进程的定义及描述 进程的定义 进程的特征 进程和程序的关系 进 ...

  5. 【操作系统】进程管理(二)

    [操作系统]进程管理(二) 一.前言 二.进程的基本概念 2.1 程序的顺序执行 2.2 程序的并发执行 2.3 进程的特征 2.4 进程的状态 2.5 进程控制块 三.进程控制 3.1 进程的创建 ...

  6. 操作系统之——进程管理:同步进程和进程互斥

    操作系统进程管理-同步和互斥 在看了操作系统关于进程管理中的同步互斥机制章节之后,甚是困惑,今天通过视频.网上博客资料学习之后,整理一下相关知识点. 进程管理 一.进程互斥 由于进程具有独立性和异步性 ...

  7. 操作系统之进程管理相关总结

    第三章 进程管理 1.1进程的概念 1.1.1为什么要引入进程 程序并发执行具有如下特征 间断性 失去封闭性 不可再现性 程序的并发可以总结为:一组在逻辑上相互独立的程序或程序段在执行过程中,其执行时 ...

  8. 操作系统之进程管理_上(汤子瀛版)

    为什么80%的码农都做不了架构师?>>>    2.1 进程的基本概念 1. 程序的顺序执行及其特征 特征:顺序性.封闭性.可再现性 2. 程序的并发执行及其特征 (1)特征:间断性 ...

  9. 操作系统之进程管理(上),研究再多高并发,都不如啃一下操作系统进程!!!...

    目录: 进程管理 程序运行过程 进程实体的组成 进程的组织 进程的状态与转换 进程控制 为什么需要原语? 原语的实现? 中断机制 进程通信 共享内存 管道通信 消息传递 小结 线程 三种线程模型 多对 ...

  10. 操作系统02进程管理Process_Description_and_Control

    作业的基本概念:用户再一次计算过程中或一次事务处理过程中,要求计算机系统所做的工作的集合. 包含多个程序.多个数据.作业控制说明书 系统调用时操作系统提供给编程人员的唯一接口. 1.文件操作类: 2. ...

最新文章

  1. 基于Pytorch再次解析AlexNet现代卷积神经网络
  2. [React Native] 解析JSON文件
  3. BZOJ1058 ZJOI2007 报表统计 线段树+平衡树
  4. spring三种注入方式
  5. pandas to_sql保存数据到数据库后,添加自增长的主键ID(PRIMARY KEY)
  6. Visual C# 2005——超好用的DropDown与DropDownClosed事件
  7. envi中多波段图层叠加layer stacking
  8. 数据结构与算法python—10.二叉树题目leetcode总结
  9. 使用HTML5里的classList操作CSS类
  10. 惠普暗影精灵3清灰_惠普暗影精灵15评测:速度超快,价格适中|但问题却不少...
  11. 115-RTKLIB及GAMP中PPP的随机模型
  12. aliddns ipv6_python脚本实现ipv6的ddns功能
  13. php setlocale 中国,PHP setlocale,UTF-8与否?
  14. 教育教培行业年终工作总结ppt制作幻灯片模板设计.pptx
  15. 新一代至强CPU加速GBase 8a MPP,GBase GCDW云数据仓库助力行业迎接数字化转型新挑战
  16. 3、vue-路由、拦截器和嵌套路由
  17. DP83848 跑10M能行,跑100M不行 的原因
  18. 如何查找【期刊】IEEE transaction on XXX 相关论文
  19. 视频倍速调整(ffmpeg)
  20. Android自定义View之图形图像(模仿360的刷新球自定义一个SeekBar)

热门文章

  1. C++:究竟还有没有未来?
  2. 互联网公司“黑话”大全,各个岗位都躺枪了!
  3. HTML5 API详解(18):IndexedDB 本地存储
  4. html5 sqlite存储图片,HTML5之Sqlite
  5. QuillBot:又一个值得拥有的论文润色工具
  6. 颠覆教科书:打破50年来的认知,DNA同义突变会影响蛋白质折叠,进而影响细胞生长...
  7. 高级转录组分析和R语言数据可视化课程全部转为视频课
  8. 关于Mac重启之后壁纸总是恢复默认的解决办法
  9. android textview 背景图片,Android—TextView 背景颜色与背景图片设置
  10. PHP笔记-获取客户端IP及平台及浏览器