asyncio — E/S asíncrona, bucle de eventos y herramientas de concurrencia

Propósito:Un marco de E/S asíncrona y concurrencia.

El módulo asyncio proporciona herramientas para construir aplicaciones concurrentes que utilizan co-rutinas. Mientras que el módulo threading implementa concurrencia a través de hilos de aplicación y multiprocessing implementa la concurrencia usando procesos del sistema, asyncio utiliza un enfoque de un solo hilo y un solo proceso en el que partes de una aplicación cooperan para cambiar tareas explícitamente en momentos óptimos. Más a menudo este cambio de contexto se produce cuando el programa de lo contrario bloquearía la espera para leer o escribir datos, pero asyncio también incluye soporte para código del programa se ejecute en un tiempo futuro específico, para permitir que una corutina espere a que otra termine, para el manejo de señales del sistema, y para el reconocimiento de otros eventos que pueden ser razones para que una aplicación cambie en lo que está trabajando.

Nota

En Python 3.5, asyncio sigue siendo un módulo provisional. La interfaz de programación se estableció en Python 3.6, y la mayoría de los cambios fueron portados a versiones posteriores de parches de Python 3.5. Como resultado, el módulo puede funcionar de forma ligeramente diferente en diferentes versiones de Python 3.5.

Ver también