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