我在C++deque
应用程序中有一个with 指针。我知道有两个线程可以访问它。
Thread1会从后面添加指针,Thread2将处理并从前面删除指针。
Thread2将等到达到一定数量,即 10 个项目,然后开始处理它。deque
它一次只会循环和处理 10 个项目。与此同时,线程1可能仍会继续向双端队列添加新项目。
我认为不同步就可以了,deque
因为Thread1和Thread2正在访问deque
. 它deque
不是vector
。所以不存在现有内存的情况container
不会重新分配现有内存的情况。
我对吗?如果不是,为什么(我想知道我错过了什么)?
编辑:
我知道总是同步它不会有什么坏处。但这可能会损害性能或没有必要。如果可能的话,我只是希望它运行得更快、更正确。