[英]Python Multiprocessing: Running each iteration of multiple for loops in parallel
我在 python 中有两个循环。 这是一些伪代码。 我想同时运行这两个函数和每个函数的每次迭代。 所以在这个例子中,将有 8 个进程同时进行。 我知道你可以使用“Process”,但我只是不知道如何合并一个可迭代的。 请让我知道,谢谢!
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
之前打印示例 2 的结果,即使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())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.