我有一个WaitHandle,我想知道如何检查 WaitHandle 是否已经设置。
注意:我可以添加一个 bool 变量,并且每当使用 Set() 方法时将变量设置为 true,但是这种行为必须在 WaitHandle 的某个地方构建。
感谢帮助!
我有一个WaitHandle,我想知道如何检查 WaitHandle 是否已经设置。
注意:我可以添加一个 bool 变量,并且每当使用 Set() 方法时将变量设置为 true,但是这种行为必须在 WaitHandle 的某个地方构建。
感谢帮助!
如果毫秒超时为零,则该方法不会阻塞。它测试等待句柄的状态并立即返回。
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));
输出:
设置:假
设置:真
使用具有超时值的Wait...
方法之一WaitHandle
,例如WaitOne
,并传递超时 0。
您可以使用WaitOne(int millisecondsTimeout, bool exitContext)方法并为时间跨度传入 0。它会立即返回。
bool isSet = yourWaitHandle.WaitOne(0, true);