使用池进行多处理

时间:2020-10-08 06:06:01

标签: python python-multiprocessing

我是多处理(任何语言)的新手,我正在学习如何尤其是在Python中实现它。给出的典型示例如下:

import multiprocessing as mp
 

def compute(x):
    return x * x
    

if __name__ == '__main__':
    with mp.Pool() as p:
        res = p.map(compute, [1, 2, 3, 4])
    print(res)  # prints [1, 4, 9, 16]

在我看来,函数compute首先执行x=1,然后执行x=2,然后执行x=3,最后执行x=4,然后终止并返回结果。还是上面的代码在x = 1、2、3和4的单独内核中同时调用compute(即四个单独的compute调用)?

当然,该示例非常简单,并且对于多处理而言是一个过大的杀伤力,但是我将澄清Pool的作用。谢谢您的指点。

0 个答案:

没有答案