私は次のことを計画しています:
消費される事前構築済みオブジェクトの両端キューを保存します。メインスレッドは、これらのオブジェクトをあちこちで消費する可能性があります。ロギングや、タイムクリティカルではないが高価なものに使用される別のジャンクスレッドがあります。ビルド済みのオブジェクトが少なくなったら、ジャンク スレッドに補充します。
ここで私の質問は、ここで競合状態になるのでしょうか? 技術的には、1 つのスレッドが前面からオブジェクトを消費し、別のスレッドがオブジェクトを背面に押し込みます。サイズがゼロにならなければ問題ないはずです。私に関係する唯一のことは、この両端キューの「サイズ」です。整数の「サイズ」変数を STL コンテナーに格納しますか? そのサイズ変数を変更して競合状態を導入する必要がありますか?
この問題を解決する最善の方法は何ですか? メイン スレッドはパフォーマンスが重要であるため、ロックを使用したくありません (最初にこれらのオブジェクトを事前にビルドした理由です!)