6

RegisterWaitForSingleObject()の代わりに使用することの利点/欠点は何WaitForSingleObject()ですか?

私が知っている理由:

  1. RegisterWaitForSingleObject()OSですでに利用可能なスレッドプールを使用します
  2. を使用する場合WaitForSingleObject()、独自のスレッドがイベントをポーリングする必要があります。

唯一の違いは、ポーリングと自動イベントですか? またはこれらの間にかなりのパフォーマンス上の利点がありますか?

4

2 に答える 2

3

これらは 2 つの異なるコード モデルを提供します。RegisterWaitForSingleObjectOS が管理するスレッド プールからランダム スレッドで非同期通知コールバックを取得する場合。このようにコードを構成できれば、より効率的になる可能性があります。一方、WaitForSingleObject同期待機呼び出しは、呼び出し元のスレッドをブロックします (したがって、「占有」します)。ほとんどの場合、そのようなコードは書きやすく、さまざまなデッドロックや競合状態に対してエラーが発生しにくくなります。

于 2013-09-09T09:03:55.880 に答える