Я пытаюсь выполнить некоторые вычисления в l oop, каждый расчет создает, использует и закрывает пул. Но расчет выполняется только один раз, а затем выдает ошибку: «Пул не запущен». Конечно, старый не работает, но не следует ли создавать новый?
Ниже приведен упрощенный пример, похожий на мой код. Более странно, в моем действительном коде вычисления выполняются 7 раз перед сбоем, так что я действительно растерялся, в чем проблема. Любой совет приветствуется!
from pathos.multiprocessing import ProcessingPool as Pool
def add_two(number):
return (number + 2)
def parallel_function(numbers):
pool = Pool(10)
result = pool.imap(add_two, numbers)
pool.close()
pool.join()
return(result)
sets=[
[1, 2, 3],
[2, 3, 4],
[3, 4, 5]
]
for one_set in sets:
x = parallel_function(one_set)
for i in x:
print(i)