hebras y forma de ejecutarlas

"Sergio Álvarez (xergio)" listas en xergio.net
Jue Mayo 11 09:18:17 CEST 2006


camontuyu wrote:
> Hola a todos,
> tengo el siguiente problema con las hebras.
> 
> Tengo un modulo main que llama a un objeto que hereda de una thread,
> seria algo así
> 
> class B(threading.Thread)
> 	def __init__(...)
> 		self._stop = threading.Event()
> 
> 	def run(self):
> 		self._stop.clear()
> 		while(not self._stop.isSet()):
> 			hace cosas
> 
> 
> modulo main...
> 	b = B()
> 	b.start()
> 
> 
> Actualamente el programa ejecuta sus cosas en el while, mientre que
> imprime por consola los resultados. El problema es cuando terminar la
> ejecución de B, por ejemplo con un Control+C. No recibe ninguna señal,
> ya que el la metodo main ha terminado, pero la hebra sigue en
> funcionamiento.

Yo he tenido tu mismo problema, no sé cómo terminar la ejecución del 
thread. PEro me hice esto: arranco la aplicación y la meto dentro de un 
try:, y luego esto:

     except KeyboardInterrupt:
         hilo.stop()

Eso cuando pulso control+c llama a hilo.stop(), y el hilo es lo siguiente:

class MiHilo(threading.Thread):
     def __init__(self):
         threading.Thread.__init__(self)
         self._stp = False

     def run(self):
         while not self._stp:
             [... trabaja con lo que sea ...]

     def stop(self):
         self._stp = True

Si alguien sabe una forma mejor... porque yo al menos he mirado si hay 
algún kill para los threads y no he visto nada.

> 
> Como termino la ejecución, parandome en el main con un bucle hasta
> recibir un control+c y luego enviar a B una señal de terminar???
> 
> Tenía pensado cuando esté lista la funcionalidad hacerle una interfaz
> gráfica con PyGTK pero no se si está será la mejor solución.
> 
> Alguna sugerencia de como tratar este código??
> 
> Un Saludo.
> 
> 
> 
> 		
> ______________________________________________ 
> LLama Gratis a cualquier PC del Mundo. 
> Llamadas a fijos y m�viles desde 1 c�ntimo por minuto. 
> http://es.voice.yahoo.com
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es

-- 
_______________________________________________
  Sergio Álvarez Muñoz
  León, Spain
_______________________________________________
  email: mail en xergio.net
   blog: http://xergio.net
     im: xergio en jabberland.com
_______________________________________________
  Sorry for my english, I know it's bad
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es