#python #python-2.7 #multiprocessing
#python #python-2.7 #многопроцессорная обработка
Вопрос:
У меня есть функция, которая говорит:
Fun1(a,b):
return a*b
Я хочу вызвать Fun1 несколько раз с разными значениями a и b.
Необходимо использовать многопроцессорную обработку, поскольку Fun1 вызывается миллионы раз в
Комментарии:
1. Вы проверили
ProcessPollExecutor
map
?2. Можете ли вы показать мне пример? похоже, не получается использовать 2 разных аргумента для функции
Ответ №1:
from concurrent.futures import ProcessPoolExecutor
def fun1(a, b):
return a * b
# if __name__ == '__main__': is required for platforms that do not
# support fork(), such as Windows:
if __name__ == '__main__':
a = [1, 2, 3]
b = [4, 5, 6]
with ProcessPoolExecutor(max_workers = 3) as executor:
results = executor.map(fun1, a, b)
for result in results:
print(result)
4
10
18