【发布时间】:2021-04-30 05:49:53
【问题描述】:
我有以下问题。我编写了一个函数,它接受一个列表作为输入,并为列表中的每个元素创建一个字典。然后我想将此字典附加到一个新列表中,因此我得到了一个字典列表。我正在尝试为此产生多个进程。我的问题是我希望不同的进程访问字典列表,因为它被其他进程更新,例如,一旦达到一定长度就打印一些东西。
我的例子是这样的:
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 的唯一方法?
【问题讨论】:
标签: python list multiprocessing