Ich bin Python 2.7.3 ausgeführt und ich bemerkte das folgende seltsame Verhalten. Betrachten Sie diese minimal Beispiel:Python Multiprocessing - Prozess hängt bei Join für große Warteschlange
from multiprocessing import Process, Queue
def foo(qin, qout):
while True:
bar = qin.get()
if bar is None:
break
qout.put({'bar': bar})
if __name__ == '__main__':
import sys
qin = Queue()
qout = Queue()
worker = Process(target=foo,args=(qin,qout))
worker.start()
for i in range(100000):
print i
sys.stdout.flush()
qin.put(i**2)
qin.put(None)
worker.join()
Wenn ich Schleife über 10.000 oder mehr, mein Skript auf worker.join()
hängt. Es funktioniert gut, wenn die Schleife nur auf 1.000 geht.
Irgendwelche Ideen?
http://stackoverflow.com/q bekommt/5900985/4013571 –