2009-09-16 18 views
7

Weiß jemand, wie .NET ein Timeout bei einem Anruf an Semaphore.WaitOne(timeout) behandelt?Semaphore-Timeout-Mechanismus in C#

Ich würde eine TimeoutException erwarten, aber die MSDN-Dokumentation listet dies nicht in der Liste der erwarteten Ausnahmen auf, und ich kann es nirgendwo dokumentiert finden.

Vielen Dank im Voraus!

Antwort

7

Das Verfahren wird false zurück, wenn es mal aus, und true wenn er ein Signal zurückgibt:

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

Das ist es, dank tat! –