Как отследить операции pool.close и pool.join в многопроцессорной среде python с огромным массивом - PullRequest
0 голосов
/ 04 июня 2019

У меня есть приложение с огромным массивом, где я использую многопроцессорную обработку Python для запуска асинхронного метода следующим образом:

import multiprocessing as mp
pool = mp.Pool()
result_list = []
length_of_data = len(array)
for index, value in enumerate(array) : 
    pool.apply_async(async_method, args = (index, value), callback = log_method)
    #Here I can track progress of threads start

pool.close() #In this line there is huge delay
pool.join()

Я могу отслеживать выполнение цикла, например. просто индикатор прогресса cmd, но при закрытии пула возникает огромная задержка. Как отследить выполнение пула? Это правильный способ использования многопроцессорного пула с огромным массивом, как я пишу выше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...