5.3 管程

作者: saviochen | 来源:发表于2017-06-01 16:59 被阅读27次

管程概述

虽然信号量是一种既方便、又有效的进程同步机制,但每个进程都要访问wait和signal操作,使得大量同步操作分布在不同进程中,给程序员编程提出较高的要求,给系统的管理也带来了麻烦。信号量的不当使用还可能导致系统死锁。为解决上述问题,引出管程。

系统中的各种硬件资源和软件资源,均可用数据结构抽象地描述其资源特性,即用少量信息和对资源所执行的操作来表征该资源,而忽略了它们的内部结构和实现细节。

管程由代表代表资源的数据结构、以及由对该共享数据结构实施操作的一组过程共同组成的管理程序。

管程的组成

1.管程名称

2.局部于管程的共享结构数据说明。

3.对该数据结构进行操作的一组过程。

4.对局部于管程的共享数据设置初始值的语句。

管程的基本特性

管程是一种程序设计语言结构成分,它和信号量具有同等的表达能力,从语言角度来看,主要有以下特征:

1.模块化
管程是一个基本程序单元,可以单独编译。

2.抽象数据结构类型
管程中不仅有数据,还有对这些数据的操作。

3.信息掩蔽
管程中的数据结构只能被管程中的过程访问。管程的数据以及过程(函数) 的具体实现在外部不可见。

4.一个进程只有通过调用管程内的过程才能进入管程访问共享数据。

5.每次仅允许一个进程在管程内执行某个内部过程。

相关文章

  • 5.3 管程

    管程概述 虽然信号量是一种既方便、又有效的进程同步机制,但每个进程都要访问wait和signal操作,使得大量同步...

  • Monitors

    monitor Condition variable 管程 管程的定义管程是对共享数据的访问进行控制的特殊的一段程...

  • Java并发之嵌套管程锁死(Nested Monitor Loc

    嵌套管程死锁是如何发生的 具体的嵌套管程死锁的例子 嵌套管程死锁 vs 死锁 嵌套管程锁死类似于死锁, 下面是一个...

  • 管程

    管程 信号量机制存在的问题 编写困难,容易出错 管程 定义 特殊的软件模块 组成 局部于管程的共享数据结构说明 对...

  • 管程

    管程:指的是管理共享变量以及对共享变量的操作过程,让他们支持并发。 Java在1.5之前仅仅提供了synchron...

  • 管程

    管程,指的是管理共享变量以及对共享变量的操作过程,让他们支持并发。翻译为 Java 领域的语言,就是管理类的成员变...

  • 管程概念

    什么是管程 Java采用的是管程技术,synchronized关键字及wait()、notify()、notify...

  • Condition

    Condition 实现管程里面的条件变量 Lock和Condition实现的管程,线程等待和通知需要调用awai...

  • Java 中的 Monitor 机制

    monitor的概念 管程,英文是 Monitor,也常被翻译为“监视器”,monitor 不管是翻译为“管程”还...

  • Java管程

    管程主要为了解决并发领域的两大核心问题:互斥和同步互斥:在同一时刻只允许一个线程访问共享资源同步:线程之间如何通信...

网友评论

    本文标题:5.3 管程

    本文链接:https://www.haomeiwen.com/subject/zwzffxtx.html