2009-09-16 19 views
7

Qualcuno sa in che modo .NET gestisce un timeout su una chiamata a Semaphore.WaitOne(timeout)?Meccanismo di timeout del semaforo in C#

Mi aspetto un TimeoutException, ma la documentazione MSDN non lo elenca nell'elenco delle eccezioni previste e non riesco a trovarlo documentato da nessuna parte.

Grazie in anticipo!

risposta

7

Il metodo restituirà false se il tempo è scaduto, e true se restituisce un segnale:

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

Che lo ha fatto, grazie! –