Simplificando tu problema, sin utilizacion de clases para que sea realmente facil de leer
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"
thread.start()
t = threading.Thread(target=run) #Aqui creas un hilo
execThread(t)
execThread(t)
stop = True
sleep(5)
execThread(t)
Ademas citando a la
documentación:
Cita:
Iniciado por pydoc This method will raise a RuntimeException if called more than once on the same thread object.
Cita:
Iniciado por pydoc-es Este metodo lanzara la excepcion RuntimeError si es llamada mas de una vez en el mismo objeto thread.
En pocas palabras, un thread(hilo) una ejecución.