Python 多处理:并行运行多个 for 循环的每次迭代



我在python中有两个循环。这是一些伪代码。我想同时运行这两个函数和每个函数的每次迭代。因此,在此示例中,将同时进行 8 个进程。我知道您可以使用"进程",但我只是不知道如何合并可迭代对象。请让我知道,谢谢!

import...
def example1(iteration):
print('stuff')
def example2(iteration):
print('stuff')
if __name__ == '__main__':  
freeze_support()
pool = multiprocessing.Pool(4)
iteration = [1,2,3,4]
pool.map(example1,iteration)

假设它们不需要同时被启动,我认为map_async这就是你想要的。

在下面的示例中,我们可以在example1完成之前打印example2的结果,即使example1是先启动的。

import multiprocessing
import time
def example1(iteration):
time.sleep(1)
return 1
def example2(iteration):
return 2
if __name__ == '__main__':
pool = multiprocessing.Pool(4)
iteration = [1,2,3,4]
result1 = pool.map_async(example1, iteration)
result2 = pool.map_async(example2, iteration)
print(result2.get())
print(result1.get())

相关内容

  • 没有找到相关文章

最新更新