import asyncio from datetime import datetime def log(msg): print(f"[{datetime.now().strftime('%H:%M:%S')}] {msg}") async def tarea_asincrona(): log("Tarea asincrónica INICIADA") await asyncio.sleep(5) log("Tarea asincrónica TERMINADA") async def tarea_paralela(): log("Tarea paralela INICIADA") await asyncio.sleep(1) log("Tarea paralela TERMINADA") async def main(): log("Iniciando flujo principal") # Lanzar tarea paralela (no bloquea) asyncio.create_task(tarea_paralela()) # Lanzar tarea asincrónica, pero NO esperarla aún tarea = asyncio.create_task(tarea_asincrona()) # Hacer otras cosas mientras tanto log("Realizando acción 1 mientras tareas corren...") await asyncio.sleep(1) log("Realizando acción 2 mientras tareas corren...") # Ahora sí esperar que tarea_asincrona termine await tarea log("Flujo principal FINALIZADO") # Ejecutar el flujo asyncio.run(main())