Los async
y await
las palabras clave no hará que su aplicación más sensibles por su propia cuenta. Simplemente hacen que la llamada y el manejo de métodos que devuelven Task
objetos sean más convenientes. Para hacer async
/ await
usar hilos de fondo, necesitará combinarlos con el uso de cosas como:
Task.Start()
- Inicia una tarea determinada usando el TaskScheduler
.
- PLINQ: ejecuta una serie de operaciones en paralelo, devuelve una tarea.
TaskCompletionSource
- Una forma personalizada de manejar tareas asíncronas. Un lugar en el que usé esto fue para manejar eventos provenientes de un WebBrowser
control.
- Otros
async
métodos, como muchas de las funciones en la API de Win 8.
En otras palabras, async
/ await
es una extensión del patrón asincrónico basado en tareas . Puede encontrar una gran cantidad de información, incluidas muchas muestras, aquí .
El BackgroundWorker
es un componente WinForms que crea 1 subproceso en segundo plano utilizando el patrón asíncrono basado en eventos , y puede completar el trabajo realizado en este subproceso en segundo plano con su propio código en el DoWork
controlador de eventos. En general, Microsoft ya no recomienda usar este patrón (consulte la parte inferior de la página aquí ), aunque si ya está familiarizado con él, puede ser una opción simple.
Otra opción no mencionada son las extensiones reactivas para .NET . Este es otro gran marco para agregar capacidad de respuesta a sus aplicaciones.