У меня следующая проблема. Я написал функцию, которая принимает на вход список и создает словарь для каждого элемента в списке. Затем я хочу добавить этот словарь в новый список, чтобы получить список словарей. Я пытаюсь создать для этого несколько процессов. Моя проблема в том, что я хочу, чтобы разные процессы имели доступ к списку словарей, когда он обновляется другими процессами, например, чтобы распечатать что-то, когда он достигнет определенной длины.
Мой пример будет таким:
Код: Выделить всё
import multiprocessing
list=['A', 'B', 'C', 'D', 'E', 'F']
def do_stuff(element):
element_dict={}
element_dict['name']=element
new_list=[]
new_list.append(element_dict)
if len(new_list)>3:
print 'list > 3'
###Main###
pool=multiprocessing.Pool(processes=6)
pool.map(do_stuff, list)
pool.close()
Сейчас моя проблема в том, что каждый процесс создает свой собственный new_list. Есть ли способ поделиться списком между процессами, чтобы все словари добавлялись в один и тот же список? Или это единственный способ определить new_list вне функции?
Подробнее здесь:
https://stackoverflow.com/questions/406 ... -processes