Waithandleが設定されているかどうかを確認する方法
-
27-09-2020 - |
質問
私は waithandle WaithAndleがすでに設定されているかどうかを確認する方法を知るために。
注: BOOL変数を追加することができ、set()メソッドが使用されるときはいつでもtrueに設定されますが、この動作はどこかでWaithandleで構築されなければなりません。
助けてくれてありがとう!
解決
millisecondstimeoutがゼロの場合、メソッドはブロックされません。待機ハンドルの状態をテストし、すぐに戻ります。
他のヒント
const int DoNotWait = 0;
ManualResetEvent waitHandle = new ManualResetEvent(false);
Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));
waitHandle.Set();
Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));
.
出力:
が設定されています:false
が設定されています:true
Wait...
を使用する WaitHandle
を渡し、タイムアウトを渡します。
waitone(int millisecondstimeout、bool exitcontext)メソッドとTimeSpanに0を渡します。すぐに戻ります。
bool isSet = yourWaitHandle.WaitOne(0, true);
. 所属していません StackOverflow