Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
あるスレッドから別のスレッドに C++ オブジェクト (マップ、ベクターなど) を渡す適切な方法は何ですか? 競合状態や古い値などを恐れています。ブースト スレッドを使用しています。
前もって感謝します!
これは、このオブジェクトの「動作」のみに依存します。自己完結型の場合、つまり、元のスレッドで使用される可能性のある他のオブジェクトへのポインター/参照を保持していない場合、問題はないようです。OTOH に元のスレッドでまだ使用されている可能性のあるデータへの参照が含まれている場合は、そのアクセスを同期する必要があります。
もちろん、複雑なオブジェクトを値渡しすることは避けるべきです。