为什么python中的apply_async不使用所有可用的worker

时间:2013-09-18 17:44:06

标签: python multiprocessing pool

如果答案很明显,请抱歉这个天真的问题。我觉得我正在使用python中的多处理模块,因为我真的不知道发生了什么。代码如下:

pool=Pool()
for i in xrange(1000000):
    for j in xrange(i+1,1000000):
        pool.apply_async(myfun,((i,j),),callback=mycallback)

我的想法是通过将每个apply_async分配给一个核心(我有16个核心)来并行化这个大的for循环。但是,16名工人中只有4名或5名工作,而其他工人则闲置。有任何想法吗?先感谢您。

P.S。回调函数非常简单。它有点像myfun返回的值的直方图。

0 个答案:

没有答案