duda de threads
Ernesto Revilla
erny en sicem.biz
Mar Sep 28 20:45:34 CEST 2004
Hola,
creo que tu problema es común, y yo tuve lo mismo, o tengo el mismo, y
la solución es reimplementar el serve_forever, pero que es realmente simple:
# eso sale de la clase BaseServer del archivo SocketServer.py:
def serve_forever:
while not self.salir:
self.handle_request()
ahora, en tu init tienes que definir el self.salir=0
Más cosillas:
aunque tú le digas que salga, el no sale, por se bloquea en el socket,
esperando una lectura. Por ello mismo, en el métod que pone el
self.salir a 1 le suelo poner solicitudes a localhost, para que se
salga. un problemilla es que es una solicitud basura, pero esa la podrás
tratar.
Erny
zako escribió:
>aupa,
>
>ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo
>el metodo run. El problema es que el metodo run se ejecuta indefinidamente
>(arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion
>de Thread he visto que no hay ningun método para matar un hilo, el hilo se
>acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando
>se recibe una excepcion no manejada.
>
>Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe
>alguna funcion para lanzar una excepcion desde el programa al hilo para
>finalizarlo o algo similar.
>
>Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de
>threading, ya que este tiene una funcion exit. Pero esto me obligaria a
>modificar bastante el código. Saludos y gracias,
>
>zako
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>
>
>
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0440-0, 28/09/2004
Comprobado en: 28/09/2004 20:45:34
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com
Más información sobre la lista de distribución Python-es