有人知道.NET如何处理对Semaphore.WaitOne(timeout)
的调用的超时?
我希望有一个TimeoutException
,但是MSDN文档没有在预期的例外列表中列出这个,我似乎无法在任何地方找到它。
提前致谢!
答案 0 :(得分:7)
如果超时,该方法将返回false
,如果返回信号,则返回true
:
if (mySemaphore.WaitOne(1000))
{
// signal received
}
else
{
// wait timed out
}