37 lines
962 B
Python
37 lines
962 B
Python
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()) |