题
我有一个 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));
.
输出:
已设置:false
已设置:真实
在 Wait...
上使用其中一个超时值,例如 WaitHandle
,并传递0的超时。
您可以使用 waseone(int milliSecondstimeout,Bool ExitContext)方法并在0中传递时间。它将立即返回。
bool isSet = yourWaitHandle.WaitOne(0, true);
. 不隶属于 StackOverflow