一个线程读取和一个线程写入,是std :: deque安全吗?

时间:2016-11-15 10:52:20

标签: c++ linux volatile

读取线程调用at(i)函数并编写线程调用push_back()函数,我收到错误"超出范围",为什么?

1 个答案:

答案 0 :(得分:3)

在任何标准库对象上调用任何非const成员函数都不是线程安全的(除非另有说明特定的非const函数)。您需要同步对象的访问以防止数据争用,从而防止未定义的行为。

相关问题