Ich möchte eine Liste ändern, indem Sie Elemente anhängen, die von einigen Funktionen generiert werden, die parallel arbeiten. Etwas wie folgt aus:Ändern globaler Variablen mit Multiprocessing
import multiprocessing
my_list=[]
def f(x):
global my_list
my_list.append(x)
for i in range(6):
p = multiprocessing.Process(target=f, args=(i,))
jobs.append(p)
p.start()
for job in jobs:
job.join()
Ich erwarte, wie etwas zu sehen:
In : my_list
Out: [0,1,2,3,4,5]
jedoch die Ausgabe eine leere Liste ist:
In : my_list
Out: []
Wissen Sie, warum dies geschieht und wie kann Ich passe den Code an, damit er die globale Variable ändert.
Sieht aus wie multiprocessing.Manager mein Problem zu lösen. Vielen Dank! – Numlet