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

时间:2018-11-20 16:42:28

标签: python python-2.7 threadpool python-multiprocessing python-multithreading

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

1 个答案:

答案 0 :(得分:2)

它们是相同的(在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的存在已得到正式记录,而multiprocessing.pool却没有(这是内部实现细节)。