without run method español ejemplos create await async c# .net multithreading async-await

c# - run - Cómo quedar a la espera Thread.Sleep?



create async method c# (1)

Estoy escribiendo una aplicación de red basada en el paradigma await / sleep.

A veces, los errores de conexión ocurren, y en mi experiencia vale la pena esperar un tiempo y volver a intentar la operación.

El problema es que si uso Thread.Sleep o alguna operación de bloqueo similar en await / async, bloquea toda la actividad en el hilo de la persona que llama.

¿Qué debo reemplazar Thread.Sleep (10000) con para obtener el mismo efecto que

await Thread.SleepAsync(10000)

?

ACTUALIZAR

Preferiré una respuesta que lo haga sin crear ningún hilo adicional


Las otras respuestas que sugieren comenzar un nuevo hilo son una mala idea, no hay necesidad de hacer eso en absoluto. Parte del punto de async / await es reducir la cantidad de hilos que necesita su aplicación.

En su lugar, debe usar Task.Delay que no requiere un nuevo hilo, y fue diseñado precisamente para este propósito:

// Execution of the async method will continue one second later, but without // blocking. await Task.Delay(1000);