gpt4 book ai didi

Python2 : multiprocessing. dummy.Pool 与 multiprocessing.pool.ThreadPool

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:57 26 4
gpt4 key购买 nike

在 python 2 中,multiprocessing.dummy.Poolmultiprocessing.pool.ThreadPool 之间有什么区别吗?源代码似乎暗示它们是相同的。

最佳答案

它们是相同的(在 Py2 和 Py3 上); multiprocessing.dummy.Pool 只是一个导入和调用 multiprocessing.pool.ThreadPool 的瘦包装器。实际代码只是:

def Pool(processes=None, initializer=None, initargs=()):
from multiprocessing.pool import ThreadPool
return ThreadPool(processes, initializer, initargs)

一般来说,我更喜欢使用 multiprocessing.dummy.Pool 只是因为存在 multiprocessing.dummy is officially documented ,其中 multiprocessing.pool 不是(这是一个内部实现细节)。

更新:从 Python 3.7 开始,the multiprocessing.dummy docs明确记录 multiprocessing.pool.ThreadPool 的存在,所以如果您肯定使用线程并且永远不想切换,可以说 ThreadPool 更适合明确使用的线程。如果您可能来回切换,那么如果您所要做的就是从以下位置添加和删除 .dummy 会更容易:

from multiprocessing import Pool  # And maybe other imports that need to switch for process vs. threads

所以我建议在这种情况下继续使用 Pool

关于Python2 : multiprocessing. dummy.Pool 与 multiprocessing.pool.ThreadPool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53397632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com