首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C++0x标准委员会拒绝了boost::shared_mutex?

为什么C++0x标准委员会拒绝了boost::shared_mutex?
EN

Stack Overflow用户
提问于 2011-01-11 23:31:44
回答 2查看 7.7K关注 0票数 14

你有关于这个主题的任何信息吗?特别是boost::shared_mutex和读写器互斥有什么问题吗?

读写互斥锁可能会被误用,例如频繁的写锁会降低性能,即使与简单互斥锁相比也是如此。但在很多情况下,许多读者经常需要一个共享资源,而这些资源很少被作者修改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-12 06:29:08

安东尼·威廉姆斯是C++标准委员会的一名有影响力的成员。他与人合著了许多提案,这些提案导致将线程库包含在C++11标准中。你可以在this commentary上阅读他的反对意见。尽管如此,它还是进入了C++17。

票数 12
EN

Stack Overflow用户

发布于 2012-11-27 22:35:39

正如Hans引用的mail中所述,shared_mutex的问题在于它的高开销。因此,只有当资源被占用很长时间,并且只有很少的线程在竞争资源时,shared_mutex才会带来好处,这是非常罕见的。

我找到了另一个关于这个问题的detailed article

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4659295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档