正在加载图片...
管程 信号量机制功能强大,但使用时对信号量的操作分散,而且难以控制,读写和维护都很困难。因 此后来又提出了一种集中式同步进程一一管程。其基本思想是将共享变量和对它们的操作集中在 一个模块中,操作系统或并发程序就由这样的模块构成。这样模块之间联系清晰,便于维护和修 改,易于保证正确性。 本节将从以下几个方面进行介绍-一 一,管程的概念 1.管程的形式 2.管程的特点 二.实例 1.生产者-消费者问题(有buffer) 2. 第一类读-写者问题 3.哲学家问题 一,管程的概念 1,管程的形式 管程作为一个模块,它的类型定义如下: monitor_name MoNITOR; 共享变量说明: define本管程内部定义、外部可调用的函数名表: use本管程外部定义、内部可调用的函数名表; 内部定义的函数说明和函数体 共享变量初始化语句:管程 信号量机制功能强大,但使用时对信号量的操作分散,而且难以控制,读写和维护都很困难。因 此后来又提出了一种集中式同步进程——管程。其基本思想是将共享变量和对它们的操作集中在 一个模块中,操作系统或并发程序就由这样的模块构成。这样模块之间联系清晰,便于维护和修 改,易于保证正确性。 本节将从以下几个方面进行介绍-- -------------------------------------------------------------------------------- 一. 管程的概念 1. 管程的形式 2. 管程的特点 -------------------------------------------------------------------------------- 二. 实例 1. 生产者-消费者问题(有 buffer) 2. 第一类读-写者问题 3. 哲学家问题 -------------------------------------------------------------------------------- 一. 管程的概念 1. 管程的形式 管程作为一个模块,它的类型定义如下: monitor_name = MoNITOR; 共享变量说明; define 本管程内部定义、外部可调用的函数名表; use 本管程外部定义、内部可调用的函数名表; 内部定义的函数说明和函数体 { 共享变量初始化语句; } --------------------------------------------------------------------------------
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有