スレッド/キューをPythonで使うつもりです。2.5.2 しかし、pythonはqueue.join()コマンドでフリーズしているようです。 followongコードの出力のみである:Pythonのスレッディング/キュー
import Queue
import threading
queue = Queue.Queue()
class ThreadUrl(threading.Thread):
def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue
def run(self):
while True:
i = self.queue.get()
print i
self.queue.task_done()
def main():
for i in range(5):
t = ThreadUrl(queue)
t.setDaemon(True)
t.start()
for i in range(5):
queue.put(i)
print "BEFORE"
queue.join()
print "AFTER"
main()
前には、間違っているものについて、誰かのアイデアを持って?
queue.put(1)...これは解決策です。しかし、単にid(キュー)がすべての関数で同じであることを確認してください。関数内でグローバルキューを使用しないと... –
これはWindows上のPython 2.6.6でうまく動作します –
このコードはきれいに見えます\ –