- 3
- 0
- 约1.52千字
- 约 28页
- 2022-10-28 发布于上海
- 举报
会计学;2.管程的定义 ;用管程管理循环缓冲区时管程的定义。 ;局部数据和条件变量;(2) 管程中定义的函数分两类:外部函数是那些进程可从外部调用的函数,是进程进入管程的入口;内部函数是只能由管程内的函数调用的函数,进程不知道它们的存在,不能调用它们。; 管程管理的共享资源在使用前需要初始化,管程中的初始化代码部分完成这样的功能。由于前面两个部分给出的都是相关的定义,因此初始化代码是管程的管程体。; 右侧是组成管程的三个部分,入口处的外面有请求进入管程??进程队列。左侧的管程等待区是各种等待队列。管程内部针对不同的条件变量,设置各种等待队列,以区分不同的等待原因。这些等待队列都在该管程的等待区里。; 在执行管程中定义的操作时,会因执行signal(ci)而将某个进程从条件变量ci的等待队列里唤醒。由于这些被唤醒的进程已经在管程中执行了部分任务,它们理应有比那些还没有进入管程的进程(即管程入口处请求进入的进程)优先得到执行的权利。因此,常把这些进程排成“紧急队列”。;例8-7 :利用例8-6管理缓冲区的管程,解决“生产者-消费者”问题。 ; append(x)检查缓冲区计数器,在in的指示下,把产品放到缓冲区指定位置。执行signal(empty)时,由于没有等待的消费者,故什么也不做就结束生产者进程的执行。若在append(
原创力文档

文档评论(0)