Eliminar un thread

Alberto Valverde alberto en toscat.net
Lun Ago 4 13:50:36 CEST 2008


> Hola a todos...
>
> He implementado un codigo con interfaz "qt3" que conecta con una base de
> datos
> MySQL mediante un thread de esta manera:
> -------------------------------
> connect=threading.Thread(name='conectar',target=self.connectMySQL)
> connect.setDaemon(1)
> connect.start()
> -------------------------------
> En la funcion "connectMySQL" realizo la conexion.
>
> El problema, esta en que si el usuario cambia los datos de conexion, ya
> sea el
> host, usuario o password de la base de datos y vuelve a dar al boton
> conectar, desaria que se eliminar el thread que se esta ejecutando.
>
> Hay alguna manera de eliminar o cancelar un thread que se esta ejecutando

Sí, la manera "correcta" es con una variable de condición que el thread
comprueba en cada iteración de su bucle y si está activada sale. Esa
variable la modificas desde fuera del thread.

Para matar un thread a lo bestia, desde fuera, si se te ha colgado tienes
este "hack":
http://sebulba.wikispaces.com/recipe+thread2

Alberto

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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