Pregunta

¿Alguien sabe cómo .NET maneja un tiempo de espera en una llamada a Semaphore.WaitOne (tiempo de espera) ?

Esperaría una TimeoutException , pero la documentación de MSDN no incluye esto en la lista de excepciones esperadas, y parece que no puedo encontrarlo documentado en ningún lado.

¡Gracias de antemano!

¿Fue útil?

Solución

El método devolverá false si se agota el tiempo de espera, y true si devuelve una señal:

if (mySemaphore.WaitOne(1000))
{
    // signal received
}
else
{
    // wait timed out
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top