Для ProcessPoolExecutor.map()
:
Аналогично map (func, * iterables), за исключением:
итерации собираются сразу, а не лениво;
Функция func выполняется асинхронно, и несколько вызовов функции могут выполняться одновременно.
Попробуйте запустить следующий фрагмент кода в python 3, и вы будете совершенно уверены:
from concurrent.futures import ProcessPoolExecutor
def f(a, b):
print(a+b)
with ProcessPoolExecutor() as pool:
pool.map(f, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (0, 1, 2))
# 0, 2, 4
array = [(i, i) for i in range(3)]
with ProcessPoolExecutor() as pool:
pool.map(f, *zip(*array))
# 0, 2, 4