tiempos de espera

Pedro A. Carrasco Ponce pedro.carrasco en iver.es
Mar Jul 20 08:40:46 CEST 2004


Pepe Aracil escribió:

> Hola a todos.
> 
> Me han encargado el diseño de una centralita receptora de alarmas, y sin 
>  dudarlo he elegido python para currarme el soft :D.
> 
> basicamente se trata de unos 10 modems con capacidad para generar DTMF, 
> conectados a 10 puertos serie. El programa, lo unico que tiene que hacer 
> es esperar a que le entre una llamada (esperar la cadena RING del modem) 
> y mediante tonos dtmf comunicarse con la alarma, extraer los estados y 
> registrarlos en una DB.
> 
> Preguntas:
> 
> ¿los threads son threads de verdad o los simula el interprete?
> lo pregunto porque me suena haber oido algo de que són simulados.

Según tengo entendido, en plataformas que soportan hilos, python ofrece 
hilos, por ejemplo en win32 y Linux.

> ¿Utilizo un proceso con un thread por cada puerto ó lanzo un interprete 
> de python  por cada puerto?
> lo digo, porque si muere un proceso, solo  "cae" su linea telefónica 
> asociada, pero no todas.

Para este tipo de aplicación, la segunda opción da más seguridad, además 
si pones un programa que haga de vigilante para comprobar que los 
procesos están arriba, pues mejor.

> ¿Que hago en los tiempos muertos en que un proceso/thread esta esperando 
> la llamada entrante, un time.sleep() entre los polling del puerto ó una 
> lectura bloqueante al puerto?
> ¿Si hago lecturas bloqueantes, será sentible el programa a los mensajes 
> externos o se quedara pseudo-colgado ?

Si lo hace un hilo aparte no bloquea el programa.


> Gracias.

A mandar

-- 
Pedro




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