3

あるスレッドから別のスレッドに C++ オブジェクト (マップ、ベクターなど) を渡す適切な方法は何ですか? 競合状態や古い値などを恐れています。ブースト スレッドを使用しています。

前もって感謝します!

4

1 に答える 1

1

これは、このオブジェクトの「動作」のみに依存します。自己完結型の場合、つまり、元のスレッドで使用される可能性のある他のオブジェクトへのポインター/参照を保持していない場合、問題はないようです。OTOH に元のスレッドでまだ使用されている可能性のあるデータへの参照が含まれている場合は、そのアクセスを同期する必要があります

もちろん、複雑なオブジェクトを値渡しすることは避けるべきです。

于 2013-02-01T09:29:30.283 に答える