问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我所理解的管程以及Java中的管程样例

发布网友 发布时间:1天前

我来回答

1个回答

热心网友 时间:2024-12-04 19:31

从PV操作说起,我们需要解决的问题是确保只有一个进程能访问临界资源,因此引入了中间层的概念。这个层需要满足条件:判定和操作要原子性。通常有两种实现方法:主动轮询和接受唤醒。主动轮询会一直占用资源,而接受唤醒则可能导致大量上下文切换,但结合自旋和阻塞方式可以平衡性能。

信号量机制不仅实现互斥,还能同步进程。它是原语实现,保证了操作的原子性。整数型信号量通过主动轮询实现互斥,但可能导致忙等。引入记录型信号量,通过队列避免忙等,让进程能加入阻塞队列等待资源。

信号量的值表示可用资源数量,如图所示,初始值为5意味着5个进程可以同时访问资源。当资源被占用,后续进程被阻塞直到资源可用。

从信号量到管程,我们认识到信号量有局限性,如无法区分不同条件的唤醒需求。管程管理共享变量和操作,支持并发。管程本质上管理中间人,封装了信号量和队列操作。共享变量包括信号量(值和队列)。唤醒分为从未进入管程和已进入并自我阻塞的进程。

管程实现互斥时,使用价值为1的信号量。两个进程需要访问临界区时,先进入的进程先P操作,发现资源可用后进入,而后来的进程则被阻塞。同步则涉及进程结束后的唤醒,可以全部或有条件。EntryQueue和WaitQueue区分从未进入管程和自我阻塞的进程。

条件变量实质上是一个队列,执行wait()将进程加入队列并阻塞,signal()唤醒队列中的一个进程。Java的synchronized简化了MESA模型,仅支持一个条件变量,但并发包实现支持多个条件变量,需要手动管理锁。

生产者消费者模式观察管程运行流程,发现同步方法中调用wait()和notify()至关重要。调用wait()释放锁,必须先获得锁。在synchronized代码块中调用,确保了资源的正确管理。ReentrantLock实现则允许更精确的唤醒,减少竞争。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我有个无线路由器 G11手机无法上wifi 已经按照路由说明书上步骤安装调... g11无线网显示以连接信号强但是一上网显示网络错误 拜求解 HTC G11能连接上WLAN,信号显示“极强”但上不去网? ...可是家里的能连上就是打不开网页,我的路由是上海贝尔的那种。_百度... 我的手机HTC G11 连接上WLAN,信号很好,就是无法上网 ...连上家里的无线网,但是qq却上不去,网页也打不开,等于没练上一样... G11WIFI信号格满但是打不开网页等 就生产力发展而言,丛西汉至唐朝有何表现 汉代农业的发展程度是怎么样的? 你好 酷管家密码忘了 打不开怎么办 ...保险币是什么(区块链在保险领域的应用可以解决哪些问题)_百度... 利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.请各位... AIoT开放平台及应用 ...氧气含量测定试验中,实验结果氧气占空气中的体积比1/5偏大的原因... 用红磷燃烧的方法测定氧气在空气中的体积分数结果偏大 氧气的体积小速度慢亲戚的体积大速度快吗 ...得的值会偏小?弹簧夹未夹紧 活塞盖的慢 为什么会偏大? 医用防晒霜要卸妆吗 宝宝清鼻涕变成黄鼻涕怎么回事 宝宝从清鼻涕到黄鼻涕是怎么回事 宝宝感冒清鼻涕变成黄鼻涕怎么回事 关于外币业务核算的问题 本币外币什么关系 动听的轻音乐精选29句 城市化问题 张爱玲爱情经典语录深情是我担不起的重担,情话只是偶然兑现的 酵素的作用和吃法是什么 照片拼图软件排行榜 照片拼图软件有哪些 河南安阳神经三叉医院? 河南安阳市三叉神经痛专科医院? 按运算不同分类①5+4=9②5+1+3=9 ③7-1-2=4④4+3+2=9⑤8-4=4⑥7+1 将12345678填在下面()+()=9,()+()=7,()-()=1,()-()=2每 顶级碧螺春多少钱一斤 天价洞庭碧螺春如何鉴别 iPad已停用连接iTunes怎么办?教你4种解决方法 Excel VBA 快速索引 Excel VBA sort ordercustom指定了在自定义排序顺序列表中的索引号是... excel VBA 颜色索引值,返回的颜色全是黑色? 送书简短清雅赠言 送书简短清雅赠言列述 和珅原本要被凌迟处死,后来怎么又上吊死了,现在和珅还有后人吗_百度知 ... 自首后会被判死刑吗 一般自首的怎么量刑 投案自首怎么判刑? 橙子可以和什么一起榨汁橙子榨汁的最佳搭配 我的世界穷小子打工日记 我的打工日记小说txt全集免费下载 没批准逮捕的案子还会到法院吗 恒基玲珑翠谷怎么样 秋词中表现了什么主旨? 马桶堵住如何快速疏通 分享7款十分不错的读书软件,适合高中生、大学生