python multiprocessing 多进程如何获去每个进程的返回值?

问题:python multiprocessing 多进程如何获去每个进程的返回值?

解决:

def func_a():
    return "func_a"
def func_b():
    return "func_b"
def func_c():
    return "func_c"


if __name__ == '__main__':
    from multiprocessing import Pool

    pool = Pool(processes=3)    # 开进程进程池
    results = []
    results.append(pool.apply_async(func_a))
    results.append(pool.apply_async(func_b))
    results.append(pool.apply_async(func_c))
    pool.close()  # 关闭进程池,表示不能再往进程池中添加进程,需要在join之前调用
    pool.join()  # 等待进程池中的所有进程执行完毕
    print("Sub-process(es) done.")

    for res in results:
        print("我拿到值了",res.get())

 

 参考资料:

https://www.cnblogs.com/interdrp/p/15910723.html

posted @ 2022-08-17 16:42  o蹲蹲o  阅读(1521)  评论(0编辑  收藏  举报