繁体   English   中英

为什么要使用std :: mutex而不是boost :: shared_mutex?

[英]Why ever use std::mutex instead of boost::shared_mutex?

我的理解是: std::mutex阻止其他线程,无论是否要读取或写入,而boost::shared_mutex将允许多次读取。

所以我的问题是,我是否应该总是更喜欢使用boost::shared_mutex而不是普通的std::mutex来允许并行读取的可能性? 使用普通的std::mutex感觉就像我否认一些可能的读取吞吐量......?

我不能说两者之间的性能,但我的猜测是因为额外的逻辑boost::shared_mutex可能会更慢。 除此之外,根据您拥有的读取器数量,您可能会阻止写入线程比您想要的更长,因为它必须等到所有读取访问完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM