2012-01-18 16 views
12

Siempre he visto las palabras clave asincrónicas utilizadas en Silverlight, pero me preguntaba si hay alguien con una explicación ficticia de lo que es y cuándo usarlo y sus beneficios. Por favor, si puedes explicarlo, te agradeceré mucho. Gracias.¿Qué es asincrónico y espera y cuándo los usarías en el desarrollo de Windows?

+0

Esto viene a colación mucho con enhebrando Este es un muy gran tema, pero si lo que desea es una práctica respuesta básica una frase, asíncrona significa que dos las cosas suceden en el tiempo independientemente la una de la otra. Por ejemplo, tiene un botón que consulta una base de datos. Si no hace todo lo posible para que sea asíncrono, todo su programa se detendrá y esperará a que termine antes de permitirle hacer cualquier otra cosa. Si no quiere que eso suceda, puede hacer que sea asincrónico (generalmente utilizando otro hilo) y aún así mantener el control de su UI, por ejemplo. – CptSupermrkt

+0

@CptSupermrkt menciona que uno de los puntos principales de async/await es * para evitar tener que generar nuevos hilos *. Véase, por ejemplo, http://blogs.msdn.com/b/ericlippert/archive/2010/10/29/asynchronous-programming-in-c-5-0-part-two-whence-await.aspx, que dice en parte "El objetivo de los métodos asíncronos es que permanezcas en el hilo actual tanto como sea posible". – phoog

+0

@phoog: hilos de desove no es lo mismo que permanecer en el hilo correcto. –

Respuesta

12

Eche un vistazo a this blog post, le da una buena introducción y una explicación de lo que son async y espera.

Si usted quiere entender realmente, echar un vistazo a Jon Skeet's series on async and await

+0

El primer enlace "esta publicación de blog" es increíblemente claro y útil. Aclaró muchas cosas. –

+3

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (// meta.stackoverflow.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – Makyen

15

Comience con my introductory article in MSDN magazine.

Y luego lea the papers on the async CTP site.

Y luego lea these fifteen articles:.

Si aún tiene preguntas después de todo eso, intente preguntar al the async forum.

+2

Si bien esto podría responder teóricamente a la pregunta, [sería preferible] (// meta.stackoverflow.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – Makyen

+0

@Makyen: Te animo a escribir una respuesta que haga exactamente eso. De esa forma, todos nos beneficiamos de tu sabiduría. –

+2

Estoy seguro de que estás mejor calificado que yo. Mi comentario es más como un pequeño empujón para recordarles que esta es una de las respuestas que se ha visto afectada por el cambio en SO a lo largo de los años. Se ha pasado de ser perfectamente aceptable a ser "no una respuesta" debido a que es solo una colección de enlaces (uno de los cuales está muerto, antes de que muriera cambió significativamente después de que lo agregó aquí). El hecho de que un enlace esté muerto es un buen ejemplo de por qué es preferible incluir lo esencial aquí. – Makyen

Cuestiones relacionadas