duda de threads

zako ezako en yahoo.es
Mar Sep 28 11:53:26 CEST 2004


 --- Antonio Castro <acastro en ciberdroide.com>
escribió: 
> Ciertos recursos que usan los procesos deben ser
> liberados por el proceso
> padre. Si eso no ocurre quedan en ese estado. Una
> cosa son los thread y
> otra los procesos creados con fork(). El proceso
> padre debe recoger los
> restos de su hijo para darle una sepultura decente.
> Se hace con las llamadas
> al sistema wait(2), waitpid(2). Si eso no ocurre
> (Por ejemplo al padre no
> le apetece enterrar a un hijo que tuvo que matar
> porque no paraba de hacer
> 'kaka'), el hijo quedará entonces en el limbo de los
> zombis.

Ya me puedes perdonar con la preguntita, pero hace 3
años que di programacion en entornos UNIX y esto de
esperar a la finalizacion del hijo es la tipica cosa
que se olvida a primeras de cambio. xD

> En el caso de los threads te basta con saber cuando
> ha de finalizar cada
> hilo. Los hilos se pueden comunicar por medio de
> variables globales.
> Puedes usar con una variable global que indique si
> hay que finalizar o no.

El problema es que en el metodo run de mi clase
derivada de Thread se ejecuta un
SocketServer.serve_forever() con lo que no podria
chequear la variable global. Podria hacer un bucle del
metodo SocketServer.handle_request(), pero solo podria
chequear la variable global al finalizar una peticion
y no podria abortar la peticion en curso o mientras
estoy esperando una peticion nueva.

Lo unico que se me ocurre seria utilizar "signal" para
lanzar alarmas periodicas y entonces chuequear el
valor de la variable global. Por lo que he leido en la
documentacion signal solo es valido en sistemas UNIX
con lo que creo que no me voy a complicar y voy a
utilizar procesos que solo es valido para sistemas
UNIX tambien y en principio parece que me va a dar
menos dolores de cabeza. Saludos y gracias,

zako 


Se me ocurre lanzar un temporizador que periodicamente
cheque el estado de la variable


		
______________________________________________
Renovamos el Correo Yahoo!: ¡100 MB GRATIS!
Nuevos servicios, más seguridad
http://correo.yahoo.es




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