如何在Python中并行处理向dictionary对象添加数据

2024-03-28 08:58:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用joblib对向字典添加信息进行多处理,但字典对象在另一端却是空的

为什么我可以通过引用将dictionary对象传递到函数中,而不是通过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) # {}

Tags: 对象importadd信息dictionary字典parallelmultiprocessing