栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C#Monitor.Wait()是否遭受虚假唤醒?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#Monitor.Wait()是否遭受虚假唤醒?

Joe Duffy的“Windows并行编程”中提到了这一点(P311-312,P598)。这一点很有趣:

请注意,在以上所有示例中,线程必须对所谓的虚假唤醒具有弹性-
使用条件变量的代码即使在过早唤醒(即在查找条件之前)也应保持正确和生动。成立。这不是因为该实现实际上会执行此类操作(尽管已知其他平台(例如Java和Pthreads)上的某些实现也可以这样做),也不是因为在不需要时代码会有意地唤醒线程,而是因为没有这样的事实。确保已唤醒线程的调度时间。条件变量不公平。它’

然后,他给出正常模式,进行一会儿循环测试条件。

我要说的是,可以合理地预期通常

Monitor.Wait
不会 过早地唤醒您,并且,如果您绝对 知道 没有其他事情可以改变条件,那么您 可以
在没有条件循环的情况下摆脱困境:但是这样做更安全包括它,以防万一您的逻辑不正确。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号