Python中文
首页
教程
问答
标签
搜索
登录
注册
使用maxtasksperchild的python多处理
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>编辑:我确认这是Python中的bug。它是bug <a href="http://bugs.python.org/issue10332" rel="nofollow">http://bugs.python.org/issue10332</a>(我提交了一个新的bug,维护人员给我指出了10332)。我将多处理目录从Python源repo复制到我的项目目录中,现在测试用例正常工作了。在</p> <p>除非删除maxtasksperchild参数,否则这个看似简单的程序对我不起作用。我做错什么了?在</p> <pre><code>from multiprocessing import Pool import os import sys def f(x): print "pid: ", os.getpid(), " got: ", x sys.stdout.flush() return [x, x+1] def cb(r): print "got result: ", r if __name__ == '__main__': pool = Pool(processes=1, maxtasksperchild=9) keys = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = pool.map_async(f, keys, chunksize=1, callback=cb) pool.close() pool.join() </code></pre> <p>当我运行它时,我得到:</p> ^{pr2}$ <p>它挂着。也就是说,处理第10个元素的新worker没有生成。在</p> <p>在另一个终端,我看到:</p> <pre><code>$ ps -C python PID TTY TIME CMD 6408 pts/11 00:00:00 python 6409 pts/11 00:00:00 python <defunct> </code></pre> <p>这是在运行python2.7.2+(从Ubuntu包安装)的ubuntu11.10上完成的。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>maxtasksperchild表示一个处理执行的最大任务数</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
7 回答
为什么我的神经网络模型的权重变化不大?
8 回答
为什么我的神经网络的成本不断增加?
8 回答
为什么我的神经网络的输入pickle文件是19GB?
9 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
7 回答
为什么我的神经网络训练这么慢?
3 回答
为什么我的神经网络输出错误?
4 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
8 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
7 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
7 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
1 回答
为什么我的积层回归器得分比它的组件差?
9 回答
为什么我的移动方法不起作用?
9 回答
为什么我的稀疏张量不能转换成张量
8 回答
为什么我的稀疏张量不能转换成张量?
1 回答
为什么我的程序“停止”了?
6 回答
为什么我的程序一直试图占用所有可用的CPU
8 回答
为什么我的程序不使用指定的代理
3 回答
为什么我的程序不工作(python帮助中的反向函数)?
5 回答
为什么我的程序不工作时,我使用多处理模块
1 回答