threading y Queue

Ramon Gonzalez rgmong en teleline.es
Mar Sep 18 07:05:17 CEST 2001


Hola Alvaro,

Alvaro López Ortega escribió:
> 
> El problema que tienes, que en realidad no es un problema, es el "tamaño
> del grano":

Curioso nombre :-)
 
> Si ejecutas este ejemplo puedes ver como realmente funciona, pero con el
> ejemplo de una lista de 10 elementos no llevaba a cambiar de un thread a
> otro.

Es cierto, ahora funciona, aunque he tenido que añadir un parámetro.
Donde pone:
  lista = Queue()
he puesto:
  lista = Queue(0)

Y además no funciona siempre. Funciona por simple coincidencia. He estado
cambiando valores (añadiendo más hilos) y el programa se cuelga al final.
Una de las razones de usar 'Queue' fue para evitar el problema de que al
hacer la comprobación para ver si la cola está vacía, diga que todavía
existen elementos pero lleguen antes otros hilos y dejen vacia la cola
y el programa se cuelge. Podrás comprobar que esto ocurre con un número
mayor de hilos.

He probado 'lista.get_nowait()' pero no se si ésta es la solución. No
se si he explicado bien el problema ?-m  ¿Alguna sugerencia?

Un saludo,
Ramon
PD: Si la programa está en Windows, en el directorio 'Escritorio',
python no puede encontrar la librería threading. Me ha vuelto loco
durante algunos días, ¿Será un bug?





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