使用池和地图
from multiprocessing import Pool
def cube(x):
return x ** 3
if __name__ == "__main__":
pool = Pool(5)
result = pool.map(cube, [0, 1, 2, 3])
Pool
是一个在幕后管理多个 Workers
(进程)的类,让程序员可以使用它。
Pool(5)
创建一个包含 5 个进程的新池,pool.map
就像 map 一样工作,但它使用多个进程(创建池时定义的数量)。
使用 map_async
,apply
和 apply_async
可以获得类似的结果,可以在文档中找到。