我有两个线程,每个线程都有一个函数来操作相同的 std:map 和 std:vector 变量。
保留这些变量的最佳方法是什么。
谢谢
最佳答案
这取决于操作的种类。你只覆盖存储的值,还是你也插入/删除元素?在前一种情况下,您可以仅锁定容器的特定元素(例如,通过在每个元素中嵌入 std::mutex
),而在后一种情况下,您需要在每次操作期间锁定整个容器.
关于c++ - 锁定映射和 vector 以防止从两个线程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14439680/