threading y Queue
Alvaro López Ortega
alvaro en godsmaze.org
Vie Sep 14 21:01:42 CEST 2001
On Thu, 2001-09-13 at 19:19, Ramon Gonzalez wrote:
> Estoy intentando aprender sobre hilos y tengo dudas. Pongo el código
> aquí para ver si alguien me puede decir en qué fallan las rutinas.
> Al principio lo hice como aparece en 'threading1.pyw', pero despues vi
> en el manual que existe una clase llamada Queue que está diseñada para
> lo que pretendo hacer (según pude entender), e hice 'threading2.pyw'.
El problema que tienes, que en realidad no es un problema, es el "tamaño
del grano":
from threading import *
from Queue import *
class hilillo(Thread):
def __init__(self, n):
Thread.__init__(self,name=n)
def run(self):
while not lista.empty():
nuevo = lista.get()
print "Soy el hilo %s: %d" % (self.getName(), nuevo)
lista = Queue()
for x in xrange(11111):
lista.put(x)
h1 = hilillo('uno')
h2 = hilillo('dos')
h3 = hilillo('tres')
h1.start()
h2.start()
h3.start()
h1.join()
h2.join()
h3.join()
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.
--
Greetings, alo.
Más información sobre la lista de distribución Python-es