2016-07-08 2 views
1

Я хочу изменить список, добавив к нему элементы, сгенерированные некоторыми функциями, которые работают параллельно. Что-то вроде этого:Модификация глобальных переменных с многопроцессорностью

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

Вы знаете, почему это происходит и как можно Я адаптирую код, чтобы он изменял глобальную переменную?

ответ

Смежные вопросы