位置: IT常识 - 正文

深究Python中的asyncio库-线程池

编辑:rootadmin

推荐整理分享深究Python中的asyncio库-线程池,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在同步线程中使用的run_in_executor就如它方法的名字所示,把协程放到了一个执行器里面,可以在一个线程池,也可以在一个进程池。另外还可以使用run_coroutine_threadsafe在其他线程执行协程(这是线程安全的)。

多线程

defstart_loop(loop):asyncio.set_event_loop(loop)loop.run_forever()defshutdown(loop):loop.stop()asyncdefb1():new_loop=asyncio.new_event_loop()t=Thread(target=start_loop,args=(new_loop,))t.start()future=asyncio.run_coroutine_threadsafe(a(),new_loop)print(future)print(f'Result:{future.result(timeout=2)}')new_loop.call_soon_threadsafe(partial(shutdown,new_loop))In:awaitb1()<Futureat0x107edf4e0state=pending>Result:A深究Python中的asyncio库-线程池

这里面有几个细节要注意:

协程应该从另一个线程中调用,而非事件循环运行所在线程,所以用asyncio.new_event_loop()新建一个事件循环

在执行协程前要确保新创建的事件循环是运行着的,所以需要用start_loop之类的方式启动循环

接着就可以用asyncio.run_coroutine_threadsafe执行协程a了,它返回了一个Future对象

可以通过输出感受到future一开始是pending的,因为协程a里面会sleep 1秒才返回结果

用future.result(timeout=2)就可以获得结果,设置timeout的值要大于a协程执行时间,要不然会抛出TimeoutError

一开始我们创建的新的事件循环跑在一个线程里面,由于loop.run_forever会阻塞程序关闭,所以需要结束时杀掉线程,所以用call_soon_threadsafe回调函数shutdown去停止事件循环

本文链接地址:https://www.jiuchutong.com/zhishi/303139.html 转载请保留说明!

上一篇:帝国cms怎么备份(帝国cms怎么上传图片)

下一篇:使用FileZilla服务器FTP工具快速找回忘记的服务器密码傻瓜试教程-OK教程(filezilla使用手册)

  • 灵隐寺求什么最灵验好吃好玩推荐

    灵隐寺求什么最灵验好吃好玩推荐

  • 支付宝明细怎么查(支付宝明细怎么导出来)

    支付宝明细怎么查(支付宝明细怎么导出来)

  • 小米电视怎么关闭小爱同学(小米电视怎么关闭自动续费)

    小米电视怎么关闭小爱同学(小米电视怎么关闭自动续费)

  • 网易云音乐怎么把歌词放到桌面(网易云音乐怎么下载到U盘)

    网易云音乐怎么把歌词放到桌面(网易云音乐怎么下载到U盘)

  • iphonexs怎么打开分屏功能(iphonexs怎么打开数据流量)

    iphonexs怎么打开分屏功能(iphonexs怎么打开数据流量)

  • 抖音开通直播要钱吗(抖音开通直播要审核吗)

    抖音开通直播要钱吗(抖音开通直播要审核吗)

  • ai出血什么意思(ai 出血)

    ai出血什么意思(ai 出血)

  • 超链接的作用(PPT中超链接的作用)

    超链接的作用(PPT中超链接的作用)

  • 苹果延保服务包括哪些(苹果的延保服务)

    苹果延保服务包括哪些(苹果的延保服务)

  • 路由器经常断网需要重启才能恢复(斐讯路由器经常断网)

    路由器经常断网需要重启才能恢复(斐讯路由器经常断网)

  • 为什么开了悬浮窗没有显示出来(为什么开了悬浮窗没有显示出来vivo)

    为什么开了悬浮窗没有显示出来(为什么开了悬浮窗没有显示出来vivo)

  • 京喜和京东买东西有区别吗(京东和京喜是一起的吗)

    京喜和京东买东西有区别吗(京东和京喜是一起的吗)

  • vivo拉黑名单怎么解除(vivo手机号码拉黑名单了,在哪里设置移除)

    vivo拉黑名单怎么解除(vivo手机号码拉黑名单了,在哪里设置移除)

  • 华为哪些手机支持畅连通话(华为哪些手机支持wifi6)

    华为哪些手机支持畅连通话(华为哪些手机支持wifi6)

  • 哔哩哔哩视频保存本地(哔哩哔哩视频保存到相册)

    哔哩哔哩视频保存本地(哔哩哔哩视频保存到相册)

  • 手机显示没有可用的移动网络(手机显示没有可用的移动网络是怎么回事)

    手机显示没有可用的移动网络(手机显示没有可用的移动网络是怎么回事)

  • 美图t9参数配置(美图t9手机参数配置)

    美图t9参数配置(美图t9手机参数配置)

  • 小爱音箱能连几个手机(小爱音箱能连几个蓝牙)

    小爱音箱能连几个手机(小爱音箱能连几个蓝牙)

  • 苹果十一支持5g吗(苹果十一支持5g卡吗)

    苹果十一支持5g吗(苹果十一支持5g卡吗)

  • 抖音怎么一键删所有除作品(抖音怎么一键删除喜欢的视频)

    抖音怎么一键删所有除作品(抖音怎么一键删除喜欢的视频)

  • ios11一键关闭所有程序(苹果一键关闭)

    ios11一键关闭所有程序(苹果一键关闭)

  • 微信被冻结怎么办(微信被冻结怎么注销)

    微信被冻结怎么办(微信被冻结怎么注销)

  • 微信如何删除他人评论(微信如何删除他人监听功能)

    微信如何删除他人评论(微信如何删除他人监听功能)

  • 电脑图标怎么在电脑底部显示详细介绍(电脑图标怎么在下面显示)

    电脑图标怎么在电脑底部显示详细介绍(电脑图标怎么在下面显示)

  • Windows 10如何清除系统使用记录(windows10如何清理c盘垃圾)

    Windows 10如何清除系统使用记录(windows10如何清理c盘垃圾)

  • 如何关闭Windows 10系统的动画效果(如何关闭windows10安全中心服务)

    如何关闭Windows 10系统的动画效果(如何关闭windows10安全中心服务)

  • 【GPT4】GPT4 官方报告解读(.gp4)

    【GPT4】GPT4 官方报告解读(.gp4)

  • 净利润跟税后利润是二个概念吗
  • 5月份企业所得税
  • 什么情况下需要补牙
  • 外购的商品用于生产
  • 公司期货收入怎么交税
  • 软件著作权费用怎么入账
  • 所有者权益变动表图片
  • 非房地产企业销售不动产增值税计算
  • 购买租赁财产是什么意思
  • 发放货物给员工 赠送
  • 税收的构成要素包含哪些内容
  • 成立企业的步骤
  • 红字通知单撤销后系统还能查到吗
  • 出口不报关账务处理
  • 网上缴税后会有发票吗
  • 一般纳税人制作除尘器的制作费开票税率是多少
  • 无息银行承兑汇票
  • 产品置换广告费
  • 增值税发票收款人复核人空白可以吗
  • 营改增的会计分录
  • 车船税为什么没有优惠
  • 年薪超过12万交多少税
  • 应付职工薪酬借方和贷方
  • 土地转让怎么缴纳增值税
  • 物业收取的滞纳金怎么算
  • 仓储费怎么账务处理
  • 往来款现金流量表怎么填
  • 偿还借款利息是现金流量什么项目
  • 业务招待费如何进行纳税调整
  • 小规模纳税人销售自己使用过的物品
  • Win11怎么不显示图标
  • 为什么系统弹出登录此网络
  • PHP:Memcached::getResultMessage()的用法_Memcached类
  • 成本核算流程会议记录
  • 视图机制
  • css设置背景图片填充
  • 固定资产无形资产计提折旧是当月还是次月
  • 未达起征点免税额是什么意思
  • php怎么修改当前用户的密码
  • 映射器可以定义参数类型
  • 让渡资产使用权收入什么意思
  • 用友t3的操作流程
  • 日常费用报销表格
  • 主营业务成本的借贷方向
  • 变卖固定资产的账务处理
  • 研发费用加计扣除的条件
  • 农产品加计扣除10%进项税账务处理
  • 我国现行资源税主要采用什么税率
  • 企业大股东减持股权
  • 无票收入如何做凭证
  • 小额 无发票
  • sql server数据库正在恢复
  • linux系统中cron命令
  • win8系统连接不了网络
  • 哪个是win8.1更新win10的补丁
  • win10开始按钮点不动
  • Win10 Mobile 10536预览版用得越久越卡顿是怎么回事?
  • centos7升级内核后 无法启动
  • 开机一直提醒ctrl+alt+del
  • win10设置设备
  • 升级怎么玩
  • hookproxy.dll
  • windows 10的屏幕键盘快捷键在哪里
  • win10教育系统
  • win10怎么关掉
  • extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
  • bat上传文件
  • 详解JavaScript对W3C DOM模版的支持情况
  • js动态生成函数
  • 猫的所有视频
  • javascript总结笔记
  • node.js介绍
  • unity api compatibility level
  • 表单中的单选框
  • 河南税务总局发票查询
  • 何为价外费用
  • 异地预缴的企业所得税带不出
  • 税务申报作废后无法申报
  • 税务局的人为什么那么拽
  • 事业单位的会计制度是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设