小编Tsv*_*rov的帖子

在C++中从/向std :: map读写的线程安全性

我有一个多线程应用程序,它使用共享数据结构,包装std :: map.

我知道STL不是线程安全的,同步所有线程是我的工作.另外我认为从列表中插入和删除元素不会使迭代器无效到其他元素.

所以我的代码中有每个元素的锁定,这可以防止两个线程读取/写入同一个元素.让两个线程处理两个不同的对象.它们持有对象的锁,因此其他线程无法修改/删除它们的对象.

但是第三个线程同时尝试删除第三个不同的对象.她已获得锁定,因此没有其他线程会尝试读取或删除它.

当其他线程正在读/写地图的其他元素时,从地图中删除元素是否是线程安全的?

c++ stl thread-safety

2
推荐指数
1
解决办法
5055
查看次数

标签 统计

c++ ×1

stl ×1

thread-safety ×1