изменение глобальной переменной при многопроцессорной обработке в python
Итак, в конечном итоге я пытаюсь прочитать строку, выполнить некоторые вычисления с информацией в этой строке, а затем добавить результат к какому-то глобальному объекту, но, похоже, я никогда не смог заставить его работать. Например, в приведенном ниже коде test всегда равен 0. Я знаю, что это неправильно, и я пытался сделать это другими способами, но это все еще не работает.
import multiprocessing as mp
File = 'HGDP_FinalReport_Forward.txt'
#short_file = open(File)
test = 0
def pro(temp_line):
global test
temp_line = temp_line.strip().split()
test = test + 1
return len(temp_line)
if __name__ == "__main__":
with open("HGDP_FinalReport_Forward.txt") as lines:
pool = mp.Pool(processes = 10)
t = pool.map(pro,lines.readlines())