Python多处理队列
问题描述:
我正在用一组我希望并行运行的作业填充一个队列,并使用python的多处理模块来做这件事。代码片断如下:Python多处理队列
import multiprocessing
from multiprocessing import Queue
queue = Queue()
jobs = [['a', 'b'], ['c', 'd']]
for job in jobs:
queue.put(job)
当我做queue.get()我得到以下几点:
['a', 'b']
为什么队列没有得到填充所有的工作?
答
该队列实际上是填充填充。每次将对象放入队列时,都需要调用queue.get()。所以你只需要再次调用queue.get()。
>>> import multiprocessing
>>> from multiprocessing import Queue
>>> queue = Queue()
>>> jobs = [['a', 'b'], ['c', 'd']]
>>> for job in jobs:
queue.put(job)
>>> queue.get()
['a', 'b']
>>> queue.get()
['c', 'd']
答
+3
为什么这会降低投票率?我很困惑.. – 2012-07-10 22:17:29
啊..我现在明白了..谢谢!!! – 2011-03-31 21:10:06
不客气。 – 2011-03-31 21:11:48