我在这里读了很多帖子的问题,如果 C++ 的标准容器(如“list”或“map”是线程安全的,并且所有人都说它不是一般情况。并行读取应该没问题,但并行写入或并行读取和写入可能会导致问题。
现在我在www.cplusplus.com发现在大多数操作期间访问或修改列表是安全的。
一些例子:
访问容器(const 和非 const 版本都不会修改容器)。不访问映射值:同时访问或修改元素是安全的。
容器被修改。并发访问现有元素是安全的,尽管容器中的迭代范围不是。
我是否误解了 cplusplus.com 或者关于 std 容器中的线程安全还有什么我必须知道的。
提前致谢!
PS:我要的是 C++03 而不是 C++11