Предполагая, что их не нужно запускать в одно и то же время, я думаю, что map_async
- это то, что вы хотите.
В приведенном ниже примере мы можем распечатать результат example2
до завершения example1
, хотя 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())