标签: c++ thread-safety containers associative
我有一张如下所示的地图:std::map<int, class A*> m。我有两个线程:其中一个是读取m并更新所包含对象的值,另一个是读取和写入(删除元素)。有没有办法在不使用互斥锁的情况下使其成为线程安全的?
std::map<int, class A*> m
m
答案 0 :(得分:4)
有没有办法在不使用互斥锁的情况下使其成为线程安全的?
没有
您可以编写自己的无锁地图,也许可以使用this这样的想法,或尝试第三方库,例如this,但标准地图不提供线程安全保障。< / p>