Cómo usar async y esperar en c#

Cómo usar async y esperar en c#
Async y esperan son métodos poderosos en C# que le permiten realizar operaciones que requieren mucho tiempo sin bloquear el hilo principal. Una de las funciones clave de C# que admite la programación asíncrona es async () y espera (). Este artículo explicará qué son async y esperan, y cómo se usan en la programación de C#.

¿Qué es async en c#?

El método async () se ejecuta sincrónicamente hasta que alcanza su primera expresión esperada. El async () se usa antes del tipo de retorno del método, y la firma del método debe devolver una tarea o objeto de tarea, donde t es el tipo de valor que el método devuelve.

asíncrata ()

// espere asincrónicamente a que complete alguna operación
// devuelve un objeto de tarea o tarea

Aquí están los cheadores en la sintaxis:

  • : El tipo de retorno del método, este puede ser cualquier tipo de datos de C# válido.
  • : El nombre del método.
  • : Los parámetros del método. Estos pueden ser tipos de datos C# válidos.

Lo que se espera en C#

Await () se usa para pausar la ejecución del método hasta que se complete la operación asíncrona, aquí está la sintaxis para esta función:

esperar

Aquí están los cheadores en la sintaxis:

  • : El tipo del resultado que devuelve la operación asincrónica.
  • : La variable que almacena el resultado de la operación asincrónica.
  • : La llamada del método que realiza la operación asíncrona.

Cómo usar async y esperar en c#

Usando async y espera, puede crear un código que sea más receptivo y eficiente, ya que libera el hilo principal para manejar otras operaciones mientras las operaciones asíncronas se ejecutan en segundo plano. A continuación se muestra el código de ejemplo que usa Async y espera y demuestra cómo usar Async y espera para realizar operaciones asíncronas no bloqueadas en C#.

usando el sistema;
Uso del sistema.Enhebrado.Tareas;
programa de clase

static void main (string [] args)

Consola.WriteLine ("Comience a calcular");
// Inicie una tarea para agregar 2 y 3 asincrónicamente
Tarea Tarea1 = Adtasync (2, 3);
Consola.WriteLine ("Agregar ...");
// Iniciar una tarea para restar 5 de 10 asíncronos
Tarea tarea2 = subtractasync (10, 5);
Consola.WriteLine ("Restar ...");
// Espere a que la primera tarea se complete y obtenga el resultado
int resultado1 = tarea1.Resultado;
Consola.WriteLine ($ "2 + 3 = resultado1");
// Espere a que la segunda tarea se complete y obtenga el resultado
int resultado2 = tarea2.Resultado;
Consola.WriteLine ($ "10 - 5 = resultado2");
Consola.WriteLine ("Cálculo completo!");

// Un método que agrega dos números de forma asincrónica
TaskDasync de async estático (int a, int b)

espera tarea.Retraso (1000); // Simular algún retraso
devolver a + b;

// Un método que reste dos números de forma asincrónica
Tasksync de async estático (int a, int b)

espera tarea.Retraso (1000); // Simular algún retraso
devolver a - b;

En el código, los métodos adtasync y sustratosync usan la palabra clave de espera para indicar que están realizando una operación asíncrona, que en este caso es un retraso simulado utilizando esta función de retraso de tarea (). Esto permite que los métodos regresen inmediatamente sin bloquear el hilo principal.

En el método principal, los métodos Adtasync y SireTasync se llaman utilizando la palabra clave de espera para esperar asíncronamente los resultados de las operaciones. Esto permite que el programa continúe ejecutando y realice otras tareas mientras espera que las operaciones asíncronas completen.

Una vez que se completan las tareas, la propiedad del resultado se utiliza para recuperar el resultado de cada tarea e imprima en la consola. Aquí está el resultado del código que discutimos anteriormente que realiza la adición y la resta usando async y espera:

Conclusión

La programación asincrónica puede proporcionar varios beneficios para su aplicación, incluido el rendimiento mejorado, una mayor capacidad de respuesta y código simplificado. Mediante el uso de técnicas de programación asincrónica, puede crear aplicaciones más eficientes y receptivas en C#. La palabra clave Async se usa con el nombre de la función para que funcione de manera asincrónica mientras espera suspenderá la operación hasta que el método asincrónico finalice la ejecución e imprima el resultado.