Python并发编程-进程池的返回值
2024-08-26 21:48:56
同步或异步获取返回值
#p = Pool()
#p.map(funcname,iterable) 默认异步的执行任务,且自带close,join功能
#p.apply(), 同步调用进程池的方法
#p.apply_async(),异步调用,和主进程完全异步,需要手动close和join
from multiprocessing import Pool
import time
def func(i): #返回值只有进程池才有,父子进程没有返回值
time.sleep(0.5)
return i*i
if __name__ == '__main__':
p = Pool(5)
res_l = [] #从异步提交任务获取结果
for i in range(10):
# res = p.apply(func,args=(i,)) #apply的结果就是func的返回值,同步提交
# print(res)
res = p.apply_async(func,args=(i,)) #apply_sync的结果就是异步获取func的返回值
res_l.append(res) #从异步提交任务获取结果
for res in res_l: print(res.get()) #等着func的计算结果
利用MAP返回值
- map是一次性返回所有子进程的返回值, 自带close,join
- apply_async分批返回
from multiprocessing import Pool
import time
def func(i): #返回值只有进程池才有,父子进程没有返回值
time.sleep(0.5)
return i*i
if __name__ == '__main__':
p = Pool(5)
ret = p.map(func,range(10))
print(ret)
最新文章
- Excel表格数据导入到SQLServer数据库
- 操作系统开发系列—9.Loader
- iOS开发笔记系列-基础6(预处理程序)
- oracle 权限管理
- Unity3d 真实的植物渲染
- HDOJ/HDU 2562 奇偶位互换(交换位置~)
- 页面添加 mask 遮罩层
- TextView于getCompoundDrawables()使用演示样本的方法
- NGINX----源码阅读---sources配置脚本
- Spring 实例化bean的三种方式:
- Javascript及Jquery获取元素节点以及添加和删除操作
- 我这样减少了26.5M Java内存!
- 第五次作业-需求&;原型改进
- SharePoint2007 开发部署Application Pages
- node.js与ThreadLocal
- C/C++音视频库ffmpeg的数据包AVPacket分析
- mysql 5.7版本后时间datetime 默认为 0000-00-00 00:00:00 问题
- Windows gitweb安装
- 如何为你的 Vue 项目添加配置 Stylelint
- Hdoj 1253.胜利大逃亡 题解