2

私は持っていvector<HANDLE>ます。全部終わるのを待ちたいです。それらを配列にコピーしたくありません。ループWaitForMultpleObjectsで使用するのではなく、とにかくそうして使用することの利点は何ですか?WaitForSingleObject

ありがとう!

4

1 に答える 1

2

まず、私が知っているすべてのC ++コンパイラでは、ベクトルは内部的に配列であり、。を使用して配列へのポインタを取得できます&yourvector[0]。C ++ 11では、この動作は標準でも要求されていると思います。したがって、コピーする必要はありません。

利点としては、WaitForMultipleObjectsウェイクアップの回数を減らし、CPU時間を少し節約します。また、すべてのを同時にアトミックに取得しHANDLEます。ミューテックスまたはセマフォオブジェクトが多数あり、それらをすべてロックする必要がある場合、これは重要な場合があります。

于 2011-12-18T05:11:22.947 に答える