【发布时间】:2013-01-16 13:26:15
【问题描述】:
我有一个线程(线程 A)不断迭代地图,比如 MapA。
现在有另一个线程 (ThreadB) 将元素插入 MapA。
我不会从 MapA 中删除元素
这个操作会不会有并发问题?
【问题讨论】:
-
我不关心无效的迭代器,因为如果我到达地图的末尾我会连续循环我将迭代器重置为开始。
-
你应该担心。当迭代器无效时,您可能永远无法针对 map 结尾对其进行测试,因为运算符
++或--会做出不可预测的事情。
标签: c++