Вот структура кода
def func(item):
N=40
pool = Pool(N)
pool.imap(does_task, path_list) # does_task is a function that we performs a task that can be abstracted from the problem.
pool.close()
pool.join()
if __name__ = "__main__":
for k, v in x.items:
func(v) # v is the path_list
В этом сценарии func()
порождает 40 процессов для первой итерации, но я заметил, что она не порождает 40 процессов для второй итерации вперед.
Я не могу понять, почему это происходит. Я подумал, что многопроцессорность работает так, что я могу определить количество используемых процессов, и он должен использовать число процессов N.
Или, возможно, он работает, но с помощью команды ps -aux я не могу см. процессы.
Может кто-нибудь объяснить, пожалуйста, почему во 2-й итерации функция не использует все процессы.