¿Qué tan diferente es la programación asíncrona de los hilos?

He estado leyendo algoasync artículos aquíhttp://www.asp.net/web-forms/tutorials/aspnet-45/using-asynchronous-methods-in-aspnet-45 y el autor dice:

Cuando estás haciendo un trabajo asíncrono, no siempre estás usando un hilo. Por ejemplo, cuando realiza una solicitud de servicio web asíncrona, ASP.NET no utilizará ningún subproceso entre la llamada al método asíncrono y la espera.

Entonces, lo que estoy tratando de entender es cómo se convierteasync ¿Si no usamos hilos para ejecución concurrente? ¿Qué significa "no siempre estás usando un hilo"?

Primero, permítanme explicar lo que sé con respecto al trabajo con hilos (un ejemplo rápido, por supuesto, los hilos se pueden usar en diferentes situaciones distintas de la UI y la metodología Worker aquí)

Usted tiene UI Thread para tomar entrada, dar salida.Puede manejar las cosas en el subproceso de la interfaz de usuario, pero la IU deja de responder.Digamos que tenemos una operación relacionada con la transmisión y necesitamos descargar algún tipo de datos.Y también permitimos a los usuarios hacer otras cosas mientras se está descargando.Creamos un nuevo hilo de trabajo que descarga el archivo y cambia la barra de progreso.Una vez hecho esto, no hay nada que hacer, así que se mata el hilo.Continuamos desde el hilo de la interfaz de usuario.

Podemos esperar el subproceso de trabajo en el subproceso de la interfaz de usuario según la situación, pero antes de que se descargue el archivo, podemos hacer otras cosas con el subproceso de la interfaz de usuario y luego esperar el subproceso de trabajo.

No es lo mismo paraasync ¿programación? Si no, ¿cuál es la diferencia? yo lei esoasync usos de programaciónThreadPool Sin embargo, para tirar de hilos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta