Python 使用多处理修改全局变量

Python 使用多处理修改全局变量,python,global-variables,multiprocessing,Python,Global Variables,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:

我想通过在列表中添加一些由并行工作的函数生成的项来修改列表。大概是这样的:

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: []

您知道为什么会发生这种情况,以及如何调整代码以使其修改全局变量?

我认为您需要使用多处理模块中定义的数据结构,而不是标准列表:

看起来像多处理。Manager正在解决我的问题。谢谢