Te damos la bienvenida

"Async" es un modelo de concurrencia en el que se ejecutan varias tareas al mismo tiempo. Se ejecuta cada una de ellas hasta que se bloquea y, a continuación, se cambia a otra tarea que está lista para progresar. El modelo permite ejecutar un mayor número de tareas en un número limitado de hilos. Esto se debe a que la sobrecarga por tarea suele ser muy baja y los sistemas operativos proporcionan primitivos para identificar de forma eficiente las E/S que pueden continuar.

La operación asíncrona de Rust se basa en "valores futuros", que representan el trabajo que puede completarse más adelante. Los futuros se "sondean" hasta que indican que se han completado.

Los futuros se sondean mediante un tiempo de ejecución asíncrono y hay disponibles varios tiempos de ejecución diferentes.

Comparaciones

  • Python tiene un modelo similar en su asyncio. Sin embargo, su tipo Future está basado en retrollamadas y no se sondea. Los programas asíncronos de Python requieren un "bucle", similar a un tiempo de ejecución en Rust.

  • Promise de JavaScript es parecido, pero también se basa en retrollamadas. El tiempo de ejecución del lenguaje implementa el bucle de eventos, por lo que muchos de los detalles de la resolución de Promise están ocultos.

Horario

Including 10 minute breaks, this session should take about 3 hours and 20 minutes. It contains:

SecciónDuración
Conceptos básicos de Async30 minutos
Canales y Control de Flujo20 minutos
Inconvenientes55 minutos
Ejercicios1 hora y 10 minutos