我有一个接受多个参数的函数,其中一些是布尔值。我正在尝试将其传递给多处理pool.apply_async
并想要传递一些带有附加名称的参数。
这是我正在使用的示例脚本:
from multiprocessing import Pool
def testFunc(y, x, calcY=True):
if calcY == True:
return y*y
elif calcY == False:
return x*x
if __name__ == "__main__":
p = Pool()
res = p.apply_async(testFunc, args = (2, 4, False))
print res.get()
这可行,但我很好奇改变res = p.apply_async(testFunc, args = (2, 4, False))
像这样的东西:
res = p.apply_async(testFunc, args = (2, 4, calcY = False))
应用异步 http://docs.python.org/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.apply_async has args
and kwds
您可以像这样使用关键字参数:
res = p.apply_async(testFunc, args=(2, 4), kwds={'calcY': False})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)