Skip to content
Go back

19-管程

Published:  at  11:39 PM

管程

信号量机制存在的问题

编写程序困难,容易出错。因此人们考虑使用另外设计的机制,保证程序员在编写程序过程中不需要关注复杂的PV操作。

管程的定义和组成

管程是一种特殊的软件模块,其组成部分为:

  1. 局部与管程的共享数据结构(类似于局部变量的概念,该数据结构只能被管程所访问)
  2. 对该数据结构进行操作的一组过程(类似于局部方法)
  3. 对局部于管程的共享数据设置初始值的语句(初始化方法)
  4. 管程的名字

管程的基本特征

  1. 局部与管程的数据只能被局部与管程的过程(方法)所访问
  2. 一个进程只有通过调用管程内的方法,才能进入管程并访问共享数据
  3. 每次仅允许一个进程在管程内执行某个内部过程(方法)

管程示例

这个过程中由编译器负责实现各个进程互斥的进入管程中的方法

注意


Suggest Changes

Previous Post
20-死锁
Next Post
18-信号量相关问题(吸烟者,读者-写者等)