如何在Python中并行处理向字典对象添加数据的过程

时间:2019-10-24 15:11:13

标签: python multiprocessing joblib

我正在尝试使用joblib对向字典中添加信息进行多进程处理,但是字典对象在另一侧显示为空。

为什么我可以通过引用将字典对象传递给函数,但不能通过Parallel传递字典对象呢?如何解决此问题以进行并行处理?查看示例代码和输出:

import multiprocessing
from joblib import Parallel, delayed

def add_dict(dct, k):
    dct[k] = k

dct1 = {}
add_dict(dct1, 5)
print(dct1) # {5:5}

dct2 = {}
Parallel(n_jobs=multiprocessing.cpu_count())(delayed(add_dict)(dct2, k) for k in range(3))
print(dct2) # {}

0 个答案:

没有答案