This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2025-05-05 02:21:55 +02:00

43 lines
1.2 KiB
Python

import asyncio
from multiprocessing import Process
from datetime import datetime
import time
import os
def log(msg):
print(f"[{datetime.now().strftime('%H:%M:%S')}] {msg}")
def tarea_pesada_cpu():
pid = os.getpid()
log(f"🔧 Proceso pesado INICIADO (PID: {pid})")
suma = sum(i * i for i in range(10**8)) # Simula carga pesada
log(f"🔧 Proceso pesado TERMINADO. Resultado: {suma} (PID: {pid})")
async def tarea_ligera_async(nombre, segundos):
log(f"{nombre} INICIADA")
await asyncio.sleep(segundos)
log(f"{nombre} TERMINADA")
async def main():
log("🎬 Iniciando tareas")
# Crear y lanzar un proceso en paralelo (cálculo pesado)
proceso = Process(target=tarea_pesada_cpu)
proceso.start()
log(f"🕵️ Proceso pesado lanzado con PID {proceso.pid}. Búscalo en el Administrador de tareas (pestaña Detalles).")
# Mientras tanto, corremos tareas asincrónicas
await asyncio.gather(
tarea_ligera_async("Tarea 1", 1),
tarea_ligera_async("Tarea 2", 2)
)
# Esperar a que el proceso termine
proceso.join()
log("🏁 Todas las tareas finalizadas")
if __name__ == "__main__":
asyncio.run(main())