Для объединения результатов всех процессов в Pool в Python вы можете использовать метод map()
вместо метода apply()
или apply_async()
. Метод map()
автоматически собирает и возвращает все результаты выполнения функции, примененной к каждому элементу входного списка.
Вот пример использования метода map()
для объединения результатов процессов в Pool:
from multiprocessing import Pool # Функция, которую нужно выполнить для каждого элемента входного списка def process_data(data): # Ваш код для обработки данных # Возвращаем результат обработки return processed_data if __name__ == '__main__': # Входной список данных input_data = [1, 2, 3, 4, 5] # Создаем Pool с определенным количеством процессов pool = Pool(processes=4) # Используем метод map() для применения функции process_data к каждому элементу списка # При этом результаты каждого процесса будут автоматически собраны и возвращены в виде списка results = pool.map(process_data, input_data) # Выводим результаты print(results)
В этом примере мы создаем Pool с четырьмя процессами и применяем функцию process_data
к каждому элементу входного списка input_data
. Результаты каждого процесса собираются и возвращаются в виде списка results
. Вы можете использовать этот список для дальнейшей обработки или вывода результатов.
Использование метода map()
позволяет автоматически объединить результаты всех процессов в Pool без необходимости явно собирать их вручную. Если вам нужно объединить результаты только отдельных процессов, вы можете вместо этого использовать метод apply_async()
и собирать результаты вручную с помощью метода get()
для каждого процесса.