如何获取multiprocessing.Pool.apply_async的结果

2024-02-15

我想获得函数运行的结果Pool.apply_async https://docs.python.org/2/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.apply_async在Python中。

如何将结果赋值给父进程中的变量?我尝试使用回调,但看起来很复杂。


解决方案很简单:

import multiprocessing

def func():
    return 2**3**4

p = multiprocessing.Pool()
result = p.apply_async(func).get()
print(result)

Since Pool.apply_async() https://docs.python.org/2/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.apply_async返回一个AsyncResult https://docs.python.org/2/library/multiprocessing.html#multiprocessing.pool.AsyncResult,你可以简单地得到结果AsyncResult.get() https://docs.python.org/2/library/multiprocessing.html#multiprocessing.pool.AsyncResult.get method.

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取multiprocessing.Pool.apply_async的结果 的相关文章

随机推荐