本文介绍了与多进程并行读取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可以做到吗?
我想到的是以下内容:
我将有一个字典,每个子进程将向该字典添加一个新的key:value组合.
i ll have a dict, and each child process will add a new key:value combination to the dict.
这可以通过多处理来完成吗?有什么限制吗?
Can this be done with multiprocessing? Are there any limitations?
谢谢!
推荐答案
如果您只想在子进程中读取数据,并且每个子进程都将添加单个键值对,则可以使用 Pool
:
In case you want to just read in the data at the child processes and each child will add single key value pair you can use Pool
:
import multiprocessing
def worker(x):
return x, x ** 2
if __name__ == '__main__':
multiprocessing.freeze_support()
pool = multiprocessing.Pool(multiprocessing.cpu_count())
d = dict(pool.map(worker, xrange(10)))
print d
输出:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
这篇关于与多进程并行读取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!