具体什么时候WaitHandle WaitOne(int timeout)
回来?超时后它会返回吗?我在网上看到一些代码建议WaitOne()
在执行退出前进行一些清理的逻辑时进行轮询。这意味着当超时过去时 WaitOne() 不会返回;相反,它返回是否在调用后立即发出信号。
public void SomeMethod()
{
while (!yourEvent.WaitOne(POLLING_INTERVAL))
{
if (IsShutdownRequested())
{
// Add code to end gracefully here.
}
}
// Your event was signaled so now we can proceed.
}
我在这里试图实现的是一种在阻塞调用线程时发出信号的WaitHandle
方法。CancellationToken