Ver Mensaje Individual
  #13 (permalink)  
Antiguo 23/09/2010, 14:39
DeMoivre
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: [Resuelto] problema con hilos (malditos hilos en python xD)

Cita:
Iniciado por AlvaroG Ver Mensaje
Python no provee funcionalidad para matar un hilo a voluntad. El hilo debe terminar su método run. Esto es porque cada hilo debe ser capaz de liberar los recursos que tenga y terminar lo que tenga pendiente antes de finalizar.

Si un hilo se te queda colgado esperando algo que nunca llegará, lo que deberías hacer no es intentar matarlo sino reacomodar la tarea que debe hacer, de modo que no se quede colgado.


saludos.
ok, GRACIAS

Justo había encontrado un artículo que decía que no intentara matar un hilo colgado por un socket bloqueante porque fastidiaría todo.




Cita:
Iniciado por razpeitia Ver Mensaje
A que le llamas "trabado"?

Para los sockets para eso hay un timeout (para que no queden esperando infinitamente) y para raw_input no se me ocurre como se puede quedar "trabado" ya que lanza excepciones cuando algo sale mal.
El hilo se quedaría TRABADO/COLGADO esperando que alguien introduzca algo. Porque, según leí, la aplicación termina cuando el hilo principal y todos los demás hilos se hayan muerto (esto es usando theading).

Si yo metiera un RAW_INPUT en un hilo para que mientras se espera la entrada de datos por teclado se hagan otras cosas, al finalizar el hilo principal me quedaría COLGADO el hilo del RAW_INPUT. Se que con un EXIT(0) lo podría matar, pero mataría todos los hilos a la vez y lo que me intereza es matar solo el del RAW_INPUT.

(Esto es un ejemplo hipotético), igualmente ya me quedó claro que no se pueden matar threading.Threads. Lo pongo por eso de que no se te ocurría como se podían quedar trabados con un raw_input.


Saludos

Última edición por DeMoivre; 23/09/2010 a las 14:56