のインスタンスを使用ManualResetEvent
してリソースへのスレッド アクセスを制御していますが、問題が発生しています。デバッグ中にオブジェクトの状態を知る方法を知っている人はいますか?
つまり、ManualResetEvent
が現在ブロックしているスレッドがあるかどうか、ブロックしているスレッドの数とスレッドを知りたいということです。
のインスタンスを使用ManualResetEvent
してリソースへのスレッド アクセスを制御していますが、問題が発生しています。デバッグ中にオブジェクトの状態を知る方法を知っている人はいますか?
つまり、ManualResetEvent
が現在ブロックしているスレッドがあるかどうか、ブロックしているスレッドの数とスレッドを知りたいということです。
WaitOne
タイムアウト値 0 でイベントを実行します。
イベントが設定されている場合は true を返し、タイムアウトが発生した場合は false を返します。つまり、true -> イベントが設定され、false -> イベントが設定されません。
作業コードは次のとおりです。
private ManualResetEvent pause = new ManualResetEvent(false);
pause.WaitOne(); // caller thread pauses
pause.Set(); // another thread releases paused thread
// Check pause state
public bool IsPaused { get { return !pause.WaitOne(0); } }
Debugger Watch ウィンドウで関数呼び出しを行うことができます。mreVariable.WaitOne(0)
ウォッチ ウィンドウに呼び出しを追加し、評価結果を確認します。注: 実際の状態が変わる可能性があるため、これを AutoResetEvents に使用しないでください。