【发布时间】:2021-03-15 21:46:08
【问题描述】:
我在代码中有一个 unordered_map,它初始化了固定数量的元素 在我的程序启动时
std::unorderd_map<int, bool> flags;
//Initialize all needed values in the map
// Start thread T1
// Start thread T2
所有条目在开始时都初始化为 false。 有两个线程(T1 和 T2)。 T1 可以更改映射中每个条目的值。 T2 只是定期读取条目。在这种情况下,我需要使用锁吗? unordered_map 中的元素总数在程序的整个生命周期中保持不变。
【问题讨论】:
-
您所描述的是race condition 的示例。
标签: c++ stl mutex unordered-map