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. 《电路学习第三天》 之 彩扩机项目设计
  2. Kali Linux 2017.1脚本gerix.py修复
  3. 浅析网络营销外包中如何实现网络营销外包中的图片推广?
  4. WF 4.0 之持久化操作一:SqlServer方式的存储
  5. textarea回车不换行 小程序_微信小程序商城到底值得不值得开通?
  6. 字典推导式_Python基础-推导式
  7. 快手短视频领域为例的领域数据建设探索
  8. pythoncharm安装配置_pycharm的安装与配置
  9. 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
  10. Windows系统安装adb/fastboot驱动教程
  11. 计算机机房需求调查表,弱电工程设计流程及客户需求调研表
  12. 常见几种USB接口引脚定义,Type A、Type B、Micro USB、Mini USB、Type C
  13. 【javaWeb学习笔记】HTML,CSS,JS
  14. M1芯片MacBook安装手机app
  15. Vue3项目运行时报错,提示Use // eslint-disable-next-line to ignore the next line.
  16. Socket学习总结系列(一) -- IM Socket
  17. 【烈日炎炎战后端】 数据结构(0.7万字)
  18. 数字滚动(微信小程序)
  19. KD树详解及KD树最近邻算法
  20. 20191019 前端日报

热门文章

  1. 技术做不下去就转管理?没那么容易
  2. 设计师妹子问:字体颜色渐变,你能实现?
  3. 第三节:ES7 新增的幂运算符
  4. java接口自动化demo_第一个java 接口自动化程序
  5. apache2.4.39 php,win7 配置AMP环境(apache2.4.39 + php7.1.28)
  6. mysql 传统数据恢复_MySQL误操作后如何快速恢复数据 传统解法 利用binlog2sql快速闪回 常见问题 参考资料...
  7. Adobe illustrator 粉色背景字体是为什么 - 连载19
  8. R统计绘图 - 热图简化
  9. 我也给要来澳大利亚的虫子们一点建议
  10. Tuxera NTFS教程:在Mac上如何将MS-DOS文件系统格式化为NTFS文件系统?