在Python中,我尝试运行150-200个进程。我在阵列中有这150个东西,我将这个阵列分成多个10个元素的数组。
现在,我运行一个多处理映射,一次有10个元素。一旦完成所有10个,我们将进入下一个10,依此类推。
现在,问题是:第九个和第十个过程几乎总是慢于其他过程。这有什么理由吗?我不是最有效的方式吗?
**我无法为此分享代码。那么你对于为什么会发生这种情况有任何想法吗?
提前致谢。
答案 0 :(得分:0)
这是由于Pool.map
在工作人员之间分配数据的方式。使用chunksize=1
作为参数,即map(...,..., chunksize=1)
。
类似的问题解释如下: python multiprocessing map mishandling of last processes