使用池和地图

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_asyncapplyapply_async 可以获得类似的结果,可以在文档中找到。