2016-02-26 1 views
1

Мне нужно запустить два последовательных пула pool.maps в python. Но вторая зависит от результатов первой карты. Таким образом, перед запуском второго пула pool.map мне нужно убедиться, что функция1 выполняется для всех аргументов. Может ли кто-нибудь показать мне, как это сделать?Python3 многопроцессорная многозадачность зависит от

# The first multiprocessing unit 
    pool = Pool(processes=num_p) 
    new_args=dict(pool.map(function1, args)) 

    # The second multiprocessing unit 
    pool.map(function2, new_args) 

Благодаря

ответ

3

Конечно pool.map будет блокировать, пока результаты не сделаны. Как еще он мог их вернуть?

Вы также можете подтвердить этот факт от the documentation.

Он блокируется до тех пор, пока результат не будет готов.