我是多处理(任何语言)的新手,我正在学习如何尤其是在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
的作用。谢谢您的指点。