2009-09-16 100 views
7

有谁知道.NET如何处理Semaphore.WaitOne(timeout)的调用超时?C#中的信号量超时机制

我期望TimeoutException,但MSDN文档没有列出预期的异常列表中,我似乎无法找到它在任何地方记录。

在此先感谢!

回答

7

该方法将返回false如果超时,并true如果返回的信号:

if (mySemaphore.WaitOne(1000)) 
{ 
    // signal received 
} 
else 
{ 
    // wait timed out 
} 
+0

也做到了,谢谢! – 2009-09-16 12:50:26