c++ - 最简单的实现模式 1 writer - 多个 readers with boost library

标签 c++ boost

我在 std::map 中开发了一个具有多个线程和一个缓存的模块。有时我需要更新缓存。届时所有读者都必须等待,而我会更新 map 。 如何与 boost 库同步?
P.S.:前段时间在Boost中是read_write_mutex。但在当前版本的 Boost 中,它错过了。

最佳答案

will shared_mutex replace read_write_mutex?

是的。

...

基本上unique_lock<shared_mutex>会给你一个写锁, shared_lock<shared_mutex>会给你一个读锁,并且 upgrade_mutex<shared_mutex>会给你一个读锁,你可以通过 将所有权(移动)转移到 unique_lock<shared_mutex> .

http://lists.boost.org/Archives/boost/2008/01/132656.php

关于c++ - 最简单的实现模式 1 writer - 多个 readers with boost library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349060/

相关文章:

c# - 带溢出的简单区间/范围交集

c++ - 如何在 C++ 中确定一个巨大的二进制文件的大小

c++ - MongoDB c++ 遗留驱动程序 1.1.2 不工作 - 使用 VS2013、Win 10、boost-1_62 编译

c++ - 反对异常(exception)

c++ - Opengl 和旋转的奇怪问题。有没有人见过这个?

c++ - 如何摆脱 TCP 阻塞 connect() 调用?

c++ - boost 属性树 : Remove a node

c++ - 在 boost MPL 中,如何检查操作是否按预期进行?

c++ - boost::asio 是否使用 ssl session 缓存?

c++ - 在不同的时区 boost 日志文件名