Estoy aprendiendo programación asincrónica usando C# y generalmente uso BeginInvoke
, pero no estoy muy seguro sobre los otros métodos para crear aplicaciones asincrónicas.¿Cuántos modelos de desarrollo asincrónico en .NET?
he hecho una pregunta acerca de esto, ver enlace más abajo para más detalles:
How to return T value from BeginInvoke?
En enlace anterior, Gravell dijo que hay cuatro modelos de desarrollo asincrónico
Hay al menos 4, entonces - una devolución de llamada regular (no APM, no EAP) tampoco es infrecuente
Pero desbordamiento dijo que hay tres:
Hay 3 modelos de desarrollo asincrónico de .NET
APM - (
BeginXXX
/EndXXX
) que se está utilizando aquí, cuando la carrera de larga tarea se completa, se llama de nuevo en su código en el métodoEndXXX
EAP - Evento basado. En este modelo, cuando la tarea de larga ejecución se completa, se genera un evento para informar su código.
TPL - Nuevo en .NET 4, esta es la versión basada en tareas. Se parece más a la programación sincrónica al código del cliente, utilizando una interfaz fluida. Sus llamadas vuelven a su código usando
ContinueWith
.
¿Alguien puede ayudarme en esto?
He buscado google.com mucho, pero en realidad están usando BeginInvoke
más. gracias por tu ayuda.
Gracias por su respuesta, ¿qué tal el modelo basado en eventos? – CharlieShi
@ CharlieShi es solo un patrón macro que se puede hacer fácilmente con uno de estos "métodos para crear operaciones asincrónicas". no importa cuál elegirías. Por cierto, en .NET 5 va a haber un método unificado de creación de métodos asíncronos con las palabras clave 'async/await' – Mikant
, entonces creo que en .net 5, es más fácil para nosotros manejar la función asincrónica. ¿Qué hay de WPF? Lo estoy aprendiendo ahora, no sé si hay un futuro brillante para aprenderlo. – CharlieShi