是否可以检查AutoResetEvent对象实际上是如何处理的?它是由超时触发的,还是通过从另一个方法调用Set()触发的?
这是我的代码。
private AutoResetEvent autoResetEvent = new AutoResetEvent(false);
private int timeout = 30000;
public void SyncMethod()
{
// some code before
autoResetEvent.WaitOne(timeout);
// if autoResetEvent called by timeout then { do some stuff }
// some code after
}
public void AsyncMethod()
{
// some code before
// ok I am done
autoResetEvent.Set();
}发布于 2012-07-17 00:58:49
WaitHandle::WaitOne方法(Int32)
返回值类型: System::Boolean
如果当前实例收到信号,则为true;否则为false。
因此,超时后返回false。
发布于 2012-07-17 00:58:12
是,检查返回值
如果当前实例接收到信号,则为
;否则为false。
http://msdn.microsoft.com/en-us/library/cc189907
https://stackoverflow.com/questions/11508908
复制相似问题