我有一个 waithandle 我想要知道如何检查waithandle是否已设置是否已设置。

注意:我可以添加一个bool变量,并且每当使用set()方法将变量设置为true,但此行为必须在Waithandle某处构建。

感谢您的帮助!

有帮助吗?

解决方案

try waithandle.waitone(0)

如果毫米长时间为零,则该方法不会阻止。它测试等待句柄的状态并立即返回。

其他提示

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);
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top