std :: vector线程对我来说是否安全?

时间:2017-05-04 10:28:10

标签: c++ multithreading

我有两个主题,其中只有一个是在我的向量中写入而另一个只是在阅读。我通过预留超过需要的数量来确保没有重新分配。然而,我有段错误,我的程序没有终止。我的向量是唯一共享的东西,所以我的问题是为此目的的std :: vector线程安全吗?

1 个答案:

答案 0 :(得分:1)

保留是不够的:当您插入时,重新分配不会发生,但end()size()的值仍然会发生变化。这使得读者和作者可以竞争end()size()的值(无论是由您明确使用,还是由向量本身在内部使用)。

相关问题