Python3 for循环与多处理

时间:2016-04-25 09:53:49

标签: python-3.x multiprocessing

我的多处理模块有问题。我想用for循环遍历一个dict,并且进程应该为每个dictitem做一个工作。多处理的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

the documentation of the multiprocessing module中有很多可以理解的例子。以下代码基于第一个代码,f()是您为每个dict项执行的函数:

from multiprocessing import Pool

def f(x):
    return (x[0], x[1]*x[1])

if __name__ == '__main__':
    p = Pool(5)
    d = {'a':1, 'b':2, 'c':3}
    print list(d.iteritems())
    print(p.map(f, d.iteritems()))

返回:

[('a', 1), ('c', 3), ('b', 2)]
[('a', 1), ('c', 9), ('b', 4)]