C++アプリケーションdeque
内に with ポインターがあります。私はそれにアクセスするための2つのスレッドがあることを知っています。
Thread1は後方からポインターを追加し、Thread2は前方からポインターを処理して削除します。
Thread2は、deque
10 アイテムと言う一定の量に達するまで待ってから、処理を開始します。一度に 10 個のアイテムのみをループして処理します。その間、Thread1は新しい項目を両端キューに追加し続ける可能性があります。
Thread1とThread2は の異なる部分にアクセスしているため、を同期しなくても問題ないと思います。そうではありません。そのため、 の既存のメモリが再割り当てされることはありません。deque
deque
deque
vector
container
私は正しいですか?そうでない場合、なぜですか (何が欠けているのか知りたいのですが)?
編集:
常に同期しても問題ないことはわかっています。ただし、パフォーマンスが低下するか、必要ない場合があります。可能であれば、より速く正確に実行したいだけです。