You need to enable JavaScript to run this app. Python如何提取multiprocessing返回值作为另一函数的输入参数
优惠活动
大模型
产品
解决方案
定价
更多

Python如何提取multiprocessing返回值作为另一函数的输入参数

实现方案

你只需要补全代码中缺失的依赖导入,在进程池资源回收后直接传入多进程返回的结果即可,完整可运行代码如下:

import os
import numpy as np
from multiprocessing import Pool

a = [1, 2, 3, 4, 5, 6]
def func1(a):
    return a ** 2

def func2(a):
    x = np.zeros(1)
    for i in a:
        x += i
    return x

if __name__ == "__main__":
    pool = Pool(os.cpu_count())
    # 多进程执行得到results,返回为标准Python列表
    results = pool.map(func1, a)
    # 回收进程池资源
    pool.close()
    pool.join()
    # 直接传入results调用func2即可
    final_res = func2(results)
    print(final_res)

相关说明

  • pool.map 执行完成后返回的是顺序和输入一致的原生Python列表,属于标准可迭代对象,不需要做任何格式转换就能直接传入func2,完全满足你不提前转换为numpy数组的要求。
  • 如果实际场景中func1返回的是自定义类型数据,只要该类型支持pickle序列化(Python multiprocessing默认跨进程通信依赖的序列化规则),都可以正常拿到结果后直接传给func2运行你的自定义逻辑,无需额外适配。

内容的提问来源于stack exchange,提问作者G-09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 12:54:03