首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++14中实现读写器锁

如何在C++14中实现读写器锁
EN

Stack Overflow用户
提问于 2015-07-25 01:54:05
回答 1查看 6.3K关注 0票数 3

我有一个哈希表数据结构,希望通过使用读取器/写入锁来确保线程安全(我的读/写比率可能在100:1左右)。

我一直在寻找如何使用C++11 (比如这里的方法)实现这个锁,但我注意到,应该可以使用C++14的shared_lock来完成同样的任务。但是,在查看优先选择之后,我发现了std::shared_lockstd::unique_lock,但我不知道如何将它们结合使用(与有简单的方法调用用于唯一和共享模式锁定的Boost方式相比)。

如何仅使用标准库在C++14中重新创建这个相对简单的读取器/写入器锁接口?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 00:03:33

C++14具有读/写锁实现std::shared_timed_mutex

附带注意: C++17添加了更简单的类std::shared_mutex,如果不需要额外的计时函数(比如shared_timed_mutex::try_lock_forshared_timed_mutex::try_lock_until),可以使用这个类。

但是,在使用读/写锁之前,请注意潜在的有害性能影响。根据具体情况,一个简单的std::mutex可能更快。

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

https://stackoverflow.com/questions/31622059

复制
相关文章

相似问题

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