AurumCourses
CursosDocsBlog
RoadmapRanking
Tutorial Reto DiarioPLAYGROUNDARENA
EntrarCrear Cuenta
Aurum Courses LogoAurum Courses LogoAurumCourses

La plataforma definitiva para evaluar y mejorar tus habilidades como desarrollador web.

Plataforma

  • Cursos
  • Documentación
  • Blog Técnico
  • Mi Perfil y Progreso
Institucional
  • Sobre Nosotros
  • Contacto
  • Privacidad
  • Términos
  • Cookies

Nuestra Red

  • Aurumdux
  • MiniDuxTools
© 2026 Aurum-Courses. Todos los derechos reservados.

Desarrollado por Aurumdux

Docs/Python/Programación Asíncrona con Asyncio
Avanzadopython

Programación Asíncrona con Asyncio

Domina la concurrencia no bloqueante en Python con async, await y el módulo asyncio.

¿Por qué asincronía en Python?

Las operaciones de entrada/salida (I/O), como llamadas HTTP a APIs, consultas a bases de datos o lectura de archivos en red, pasan la mayor parte del tiempo esperando una respuesta. Con asyncio, el hilo principal no se bloquea y puede atender otras tareas mientras espera.
python
1import asyncio
2
3async def descargar_datos(id_proceso, delay):
4    print(f"Iniciando descarga {id_proceso}...")
5    await asyncio.sleep(delay) # Pausa no bloqueante
6    print(f"Descarga {id_proceso} completada.")
7    return {"id": id_proceso, "status": "ok"}
8
9async def main():
10    # Ejecutar múltiples corrutinas en paralelo
11    resultados = await asyncio.gather(
12        descargar_datos(1, 2),
13        descargar_datos(2, 1),
14        descargar_datos(3, 1.5)
15    )
16    print("Todos los resultados:", resultados)
17
18asyncio.run(main())

Diferencia entre Hilos (Threading) y Asyncio

Threading utiliza múltiples hilos administrados por el sistema operativo (sujetos al GIL en CPython). Asyncio utiliza un Event Loop en un único hilo con concurrencia cooperativa: el código cede el control voluntariamente en cada instrucción await.
python
1# Ejemplo con timeout controlado
2async def tarea_con_limite():
3    try:
4        async with asyncio.timeout(3.0): # Python 3.11+
5            await asyncio.sleep(5.0)
6    except TimeoutError:
7        print("La tarea excedió el tiempo límite permitido.")
← AnteriorDecoradores y Funciones de Orden SuperiorSiguiente →Type Hints y Data Classes Modernas