将列表分配给multiprocessing.Manager.dict()并修改列表?

时间:2019-05-29 12:01:47

标签: python multiprocessing

我在多进程上修改了POTW示例

import multiprocessing
import pprint


def worker(d, key, value):
    d[key] = value


def worker2(d, index, x):
    d['items'].append(index)


if __name__ == '__main__':
    mgr = multiprocessing.Manager()
    d = mgr.dict()
    d['items'] = []
    jobs = [
        multiprocessing.Process(
            target=worker2,
            args=(d, i, i * 2),
        )
        for i in range(10)
    ]
    for j in jobs:
        j.start()
    for j in jobs:
        j.join()
    print('Results:', d)

示例代码使用worker2()给了我一个空的d['items']

multiprocessing.Manager.dict()只能与键值对上的赋值一起使用,而不能与其子元素一起使用吗?

0 个答案:

没有答案