[pyar] Como sacar una variable (Lista) de un while infinito?

Roberto Alsina ralsina en netmanagers.com.ar
Mie Sep 21 23:36:20 ART 2011


On 9/21/2011 10:42 PM, Julian Agustin Cardonnet wrote:
> Hola Diego,
> Lo que planteas tiene pinta del clasico escenario de concurrencia 
> "productor-consumidor"[1], aunque no aclaras si el feed de datos es 
> continuo o si llegan datos "cada tanto".
> Lo que podes hacer es tener la cosa en dos procesos/hilos separados. 
> Por un lado el que obtiene los datos (el codigo que mandaste) y en 
> otro hilo concurrente el proceso que consume esos datos y hace lo que 
> tenga que hacer mientras haya datos en la lista (un buffer compartido 
> entre ambos procesos) y sino que se duerma hasta que lleguen nuevos datos.
>

Si lo va a hacer con dos hilos o dos procesos, puede usar un objeto 
Queue para pasarse los datos de uno a otro.

Otra manera es usar deferreds, hacer un yield en el medio del loop 
infinito llamando a una funcion que procesa los datos.

Otra manera es, si la funcion que procesa los datos no tarda mucho, 
simplemente llamarla desde adentro del loop cada tanto.




More information about the pyar mailing list