相关疑难解决方法(0)

std :: map thread-safety

在std :: map中引用对象是否是线程安全的?

std::map< std::string, Object >   _objects;
Run Code Online (Sandbox Code Playgroud)

map可以从许多线程更改,并且此访问是同步的,但引用只能从1个实例和线程访问的值(Object&).是否使用Object进行写操作是否安全,如果另一个线程将添加项目到映射?它会重新分配吗?

c++ multithreading stdmap map

23
推荐指数
2
解决办法
4万
查看次数

C++ std容器的线程安全性

我在这里阅读了很多帖子,问题是C++的标准容器(如"list"或"map"是线程安全的,所有人都说它不是一般的.并行读取应该没问题,但并行写入或者并行读写可能会导致问题.

现在我发现在www.cplusplus.com上,在大多数操作期间访问或修改列表是安全的.

一些例子:

地图::找到

访问容器(const和非const版本都不会修改容器).不访问映射值:同时访问或修改元素是安全的.

地图::插入

容器已修改.同时访问现有元素是安全的,尽管容器中的迭代范围不是.

我是否想念cplusplus.com或者我还有什么关于std容器中线程安全的知识.

提前致谢!

PS:我要的是C++ 03而不是C++ 11

c++ multithreading stl c++03

11
推荐指数
2
解决办法
2914
查看次数

标签 统计

c++ ×2

multithreading ×2

c++03 ×1

map ×1

stdmap ×1

stl ×1