2011-07-18 11 views
2

私は、手動のイベント・ハンドルhCreateEventで作成、マニュアル)を持っているとします。スレッドがイベントを待っているかどうかを検出します。

私のアプリケーションにはいくつかのスレッドがあり、このイベントを待っているスレッドがあります(WaitForSingleObjectWaitForMultipleObject)。

私のアプリケーションでは、このハンドルを待っているスレッドがないことをアサーションしたいと考えています。h

その時点でイベントhを待っているスレッドがあるかどうかを示すWindows API関数はありますか?

答えて

1

私は、Windows APIが(スレッドが同期オブジェクトを待っているかどうかに関わらず)その情報を公開するための公開メカニズムを提供しているとは思いません。典型的なアプリケーションが知る必要がないはずのものであり、提供されていれば競合状態に陥る可能性があります。

たとえば、アプリケーションが待機していたスレッドがないことを確認し、それに基づいて判断した場合、次のクロックサイクルのスレッドが実際にイベントの待機を開始する可能性があるため、情報は失効し、チェックの直後に間違っている可能性があります。

関連する問題