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

And*_*hko 14 multithreading boost c++11

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

读写器互斥体可能被滥用,例如频繁的写入锁定会降低性能,即使与简单的互斥锁相比也是如此.但是很多情况下许多读者经常需要一个可以被编写者很少修改的共享资源.

Han*_*ant 12

Anthony Williams是C++标准委员会的有影响力的成员.他共同撰写了许多导致将线程库包含在C++ 11标准中的提案.你可以在这篇评论中阅读他的反对意见.尽管如此,它确实进入了C++ 17.


Enn*_*per 10

正如Hans所引用的邮件所述,问题shared_mutex在于它的开销很高.因此shared_mutex,当资源保持很长时间并且只有少数线程竞争资源时,这只会带来好处,这是非常罕见的.

我找到了另一篇关于这个问题的详细文章