若 x 是管程内的条件变量,则当进程执行 x.wait()时所做的工作是-笔试面试资料

这是qklbishe.com第17289 篇笔试面试资料
提供答案分析,通过本文《若 x 是管程内的条件变量,则当进程执行 x.wait()时所做的工作是-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
若 x 是管程内的条件变量,则当进程执行 x.wait()时所做的工作是

若 x 是管程内的条件变量,则当进程执行 x.wait()时所做的工作是 takooctopus
管程是操作系统的资源管理模块,代表共享资源的数据结构以及对该共享数据结构实施操作的一组过程所组成。

我们看到管程的组成:

① 名称
② 共享数据结构说明
③ 对该数据结构进行操作的一组过程
④ 数据初始化代码
而要实现进程互斥
①同一管程内的过程仅能访问同一管程内的数据结构,同样,同一管程内的数据结构也只能被同一管程内的过程访问。(也就是完全封闭的)
②每次只允许一个进程进入管程,执行管程内的过程(操作管程内的临界资源),从而实现了进程互斥。
③管程类型提供了一组由程序员定义的、在管程内互斥的操作,确保一次只有一个进程在管程内活动。
④进程通过管程请求临界资源未满足时,管程将其加入等待队列。
这时,我们的条件x就出来了,一个wait,一个singal。
该进程需要被挂起或阻塞时,则调用 x.wait; 将自己插入 x 条件变量的等待队列中,并释放管程,直到 x 条件变化。
调用 x.signal,重新启动一个因 x 条件而被阻塞或挂起的进程;如果 x 的等待队列是空的,则继续执行原进程,

2021-10-14 16:35:33 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 若 x 是管程内的条件变量,则当进程执行 x.wait()时所做的工作是-笔试面试资料

提供最优质的资源集合

立即查看 了解详情