首页 > 解决方案 > 并行读取 python 搁置对象

问题描述

我想并行化以下从搁置的 python 对象中读取的 for 循环

result = []
for k in my_keys:
    val = my_shelved_db[k]
    result.append(val)

在哪里 :my_shelved_db = shelve.open('my_file.db')

有人可以举例说明如何做到这一点

标签: pythonpython-3.x

解决方案


import multiprocessing
from multiprocessing import Manager

manager = Manager()
result = manager.list()

def func(k):
    val = my_shelved_db[k]
    result.append(val)

# my_keys = range(10)

for  k in my_keys:
    process = multiprocessing.Process(target=func,args=(k,))
    process.start()


print(result)

推荐阅读