std::map 上的查找和读取操作是线程安全的吗?
可能的重复:
只读操作的 std::map 的线程安全性
有了std::map a
,我们可以在多个线程中同时执行a.find(...)->second
吗?
Possible Duplicate:
Thread safety of std::map for read-only operations
Having std::map a
can we do a.find(...)->second
in multiple threads at the same time on it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。只要您的线程没有执行写入操作
,即在内存中构造数据结构,
就可以根据需要使用尽可能多的线程来查找/读取。
如果叶子需要改变,请在那里放置一个互斥锁。
Yes. As long as none of your threads do a write
i.e. Construct the data structure in memory
Use as many threads to find/read as you require.
If the leaf needs altering put a mutex there.