Estoy escribiendo una aplicación vinculada a la red basada en el paradigma de espera / reposo.
A veces, ocurren errores de conexión y, en mi experiencia, vale la pena esperar un tiempo y luego volver a intentar la operación.
El problema es que si uso Thread.Sleep u otra operación de bloqueo similar en espera / asíncrono, bloquea toda la actividad en el hilo de la persona que llama.
¿Con qué debería reemplazar Thread.Sleep (10000) para lograr el mismo efecto que
await Thread.SleepAsync(10000)
?
ACTUALIZAR
Preferiré una respuesta que haga esto sin crear ningún hilo adicional
fuente
async
introducción sea útil. Cuando el awaitable devuelto porTask.Delay
seawait
cado, ya que no es completa, el método actual vuelve una tarea incompleta. Más tarde, cuando seDelay
completa (apagado un temporizador, no un hilo), el resto del método está programado para ejecutarse. La continuación se ejecuta en un "contexto" que puede volver al mismo hilo original: detalles en mi blog.await
programado (eventualmente).