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

标签 python parallel-processing multiprocessing

我想得到 Pool.apply_async 运行的函数的结果在 Python 中。

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

最佳答案

解决方法很简单:

import multiprocessing

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

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

Pool.apply_async()返回 AsyncResult ,您可以简单地从 AsyncResult.get() 中获得结果方法。

希望这对您有所帮助!

关于python - 如何获取 multiprocessing.Pool.apply_async 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42843203/

相关文章:

python - Pandas:根据另一列中的值按名称对多个列进行子集

python - 当 Selenium WebDriver 未全屏时出现 ElementNotVisibleException

python - 在多个内核上运行 python 程序

powershell - 从 Powershell 并行 Foreach 循环返回值

python - 如何使用 Python 3 的多处理池运行 2 个不同的函数?

Python 在进程之间共享锁

python - 将二维数组中任意行的值赋给 nans

python - Monty Hall 模拟未按预期工作

c# - 为什么我的 Parallel.Foreach 似乎没有使用 10 个线程?

python - 如何从多处理队列继承?