eso quedo mucho mas prolijo, gracias :)
pero si lo ejecutas tira el error que comentaba en el principio, para solucionarlo quedaria asi:
Código Python:
Ver originalimport threading
from time import sleep
stop = True #Variable de control
def run(): #Esto es lo que hace el hilo
global stop
while not stop:
print "Hilo en ejecucion por 2s"
sleep(2)
def execThread(thread):
global stop
if thread.isAlive():
print "Hilo Ejecutandose"
else:
stop = False
print "Hilo antes o despues de ejecutarse"
t = threading.Thread(target=run) #(ESTO ES LO QUE FALTO AGREGAR)
thread.start()
t = threading.Thread(target=run) #Aqui creas un hilo
execThread(t)
execThread(t)
stop = True
sleep(5)
execThread(t)
gracias por tomarte el trabajo de codificar para un desconocido!
ahora la unica duda que me queda es:
cuando un hilo termina de ejecutarse, queda algun residuo de el en memoria?? porque si es asi, y estamos en la necesidad de correr muchos hilos (porque no podemos iniciar y cortar, iniciar y cortar uno mismo) la cosa se pone mas ineficiente. o estoy tirando cualquier pavada?