How to pass args and kwargs to multiprocessing Pool?
如果我有以下的功能:
1 2 | def foo(a, b, c=2, d=6): return a + b + c + d |
我想与
我怎么
我看到这个帖子,但它似乎并没有真的让它平行。在另一个例子可能是有用的设置,但它是很难理清。
怎么样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import multiprocessing def foo(a, b, c=2, d=6): return a + b + c + d def foo_callback(result): print(result) def foo_error(error): raise error pool = multiprocessing.Pool() for (a, b, c, d) in ((1, 2, 3, 4), (2, 4, 6, 8), (3, 6, 9, 12)): pool.apply_async( foo, args=(a, b), kwds={"c":c,"d":d}, callback=foo_callback, error_callback=foo_error ) pool.close() pool.join() |
哪些印刷品:
1 2 3 4 5 | 10 20 30 Process finished with exit code 0 |
我猜你想把KWD当作口述传下去。钥匙应该是琴弦。