2009-09-16 80 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