多进程如何获取进程的返回值?用get函数,apply_async()

来源:互联网 发布:南风知我意 七微 编辑:程序博客网 时间:2024/05/22 00:59
原帖由 项俊杰 于 2017-7-7 11:35 发表 
目前用的是跑两个子进程,子进程的函数是无限循环,但是跑了半个小时发现其中一个子进程跑成zombie了,所以打算把子进程的函数设置成返回值的,然后在主进程里判断返回值  执行完了就 再重开。
但是看了下p.start()后 好像是 ...
建议用Pool来完成。代码类似于:
复制内容到剪贴板
代码:
from multiprocessing import Pool
p = Pool()
result = p.apply_async(foo, args=(a, ))
# foo和a分别是你的方法和参数,这行可以写多个,执行多个进程,返回不同结果
p.close()
p.join()
最后用result.get()就得到结果了
原创粉丝点击