如何在标准C 11中创建shared_lock或upgrade_lock?
发布时间:2020-12-16 03:41:15 所属栏目:百科 来源:网络整理
导读:我从新标准std :: shared_lock模板类中遗漏了很多东西. 在Boost.Thread中有boost :: shared_lock,甚至还存在boost :: upgrade_lock. 为什么这样,C 11中没有std :: shared_lock和std :: unique_lock? 如何获得类似boost :: shared_lock的行为,但在纯C 11中?
我从新标准std :: shared_lock模板类中遗漏了很多东西.
在Boost.Thread中有boost :: shared_lock,甚至还存在boost :: upgrade_lock. 为什么这样,C 11中没有std :: shared_lock和std :: unique_lock? 我正在考虑使用boost :: shared_lock< std :: mutex>,但这没有多大意义,因为std :: mutex没有lock_shared()成员.而且,没有像std :: shared_mutex这样的东西. 解决方法
霍华德对std :: shared_mutex的提议由于没有时间正确考虑而拒绝了C 11.他再次为C17提出了这个问题,本周在波特兰举行的会议上对此进行了讨论.
同时,如果你可以使用Boost那么你也可以;标准化不会有任何新功能. 也就是说,值得检查的是,使用shared_mutex实际上是有益的 – 在许多情况下,由于互斥锁本身的争用,它无法提供所希望的性能提升. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |