我有一个字符串列表,我想将这些列表元素存储到适当的存储桶中。
def bucketElements(i):
global buckA, buckB, buckC
if i.startswith('A'):
buckA.add(i)
elif i.startswith('B'):
buckB.add(i)
elif i.startswith('C'):
buckC.add(i)
现在,我想为List中的每个元素并行调用此方法。像这样
buckA,buckB, buckC = set(), set(), set()
pool = multiprocessing.Pool(processes=10)
pool.map(bucketElements, buckList)
由于我正在更新函数中的全局变量,因此无法使用多重处理。无论如何,我可以改善我的处理程序吗?目前我这样称呼它,
buckA,buckB, buckC = set(), set(), set()
for i in buckList:
bucketElements(i)
最佳答案
您有3个选择:Queue()
Manager.Value()
Manager.list()
Python»文档:multiprocessing.html#managers