Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/08/2010, 19:16
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: problema con hilos (malditos hilos en python xD)

Simplificando tu problema, sin utilizacion de clases para que sea realmente facil de leer

Código Python:
Ver original
  1. import threading
  2. from time import sleep
  3.  
  4. stop = True #Variable de control
  5.  
  6. def run(): #Esto es lo que hace el hilo
  7.     global stop
  8.     while not stop:
  9.         print "Hilo en ejecucion por 2s"
  10.         sleep(2)
  11.  
  12. def execThread(thread):
  13.     global stop
  14.     if thread.isAlive():
  15.         print "Hilo Ejecutandose"
  16.     else:
  17.         stop = False
  18.         print "Hilo antes o despues de ejecutarse"
  19.         thread.start()
  20.        
  21. t = threading.Thread(target=run) #Aqui creas un hilo
  22. execThread(t)
  23. execThread(t)
  24. stop = True
  25. sleep(5)
  26. 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.