我想通过附加一些并行工作的函数生成的项目来修改列表。像这样的事情:
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()
我希望看到类似的内容:
In : my_list
Out: [0,1,2,3,4,5]
但是输出是一个空列表:
In : my_list
Out: []
您知道为什么会发生这种情况以及如何调整代码以使其修改全局变量吗?
最佳答案
我认为您需要使用多处理模块中定义的数据结构而不是标准列表:https://docs.python.org/2/library/multiprocessing.html#sharing-state-between-processes
关于python - 使用多处理修改全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264584/