- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WaitForMultipleObjectのイベントの処理について)
WaitForMultipleObjectのイベント処理について - イベントの取りこぼし問題と対応方法
このQ&Aのポイント
- WaitForMultipeObjects関数で待機している場合、引数で指定している複数のイベントオブジェクトがほぼ同時にシグナル化した場合、イベントの取りこぼしが発生する可能性があります。
- 具体的な例を挙げると、スレッドAがイベントを発行し、スレッドBが複数のイベントを待機している場合、ほぼ同時にスレッドAとスレッドCからイベントが発生した場合、一部のイベントが取りこぼされる可能性があります。
- 取りこぼしの可能性がある場合、対応方法としては、イベントを発行する順番を制御する、または待機するスレッドを複数のイベントに対応させるなどの方法があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
基本的にセットされたイベントはクリアするまで保持されますから、次のWaitForMultipeObjectsで捕捉されます。だから(2)ですね。
お礼
回答ありがとうございます。 やっぱり(2)ですか。 実際、テストプログラムでも(2)で動作してましたんで、 そうかとは思っていたんですが、開発中のプログラムでは、 イベントを取りこぼしたとしか思えない動作をしていまして。 他に原因がないかもうちょっと調べてみます。 ありがとうございます。