Primer commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user