У меня возникают проблемы при попытке использовать глобальные переменные в многопроцессорном пуле. Я знаю, что по этому поводу уже довольно много контента, но я изо всех сил пытаюсь реализовать ответы на свой случай.
У меня есть функция, которую я хочу использовать с pool.map. Я хочу, чтобы на входе этой функции было несколько глобальных переменных, а также еще один параметр, который меняет процесс от процесса к процессу. То есть мне нужно что-то вроде:
if __name__ == '__main__':
A = Global Variable Array
B = Global Variable Array
C = Actual Input Array For the Multiprocessing
pool = multiprocessing.Pool()
Res= pool.map(Function,Input = A,B,C)
В приведенном выше случае только C меняется от процесса к процессу. В настоящее время мой код работает только в том случае, если я импортирую глобальные массивы из внешних файлов в каждом процессе, что кажется очень расточительным.