当前位置: 首页 > java >正文

python异步

async/awaitloop.run_in_executor() 的差异

在 Python 的 异步编程(asyncio) 中,async/awaitloop.run_in_executor() 主要用于 非阻塞执行任务,但它们的工作方式和适用场景不同。以下是它们的核心区别:


1. async/await(完全异步)

适用于 纯粹的异步函数,通常用于 I/O 操作,如:

  • 网络请求(HTTP)
  • 数据库查询(如 aiomysqlasyncpg
  • 文件 I/O(如 aiofiles
  • 异步任务队列(如 asyncio.Queue

示例:async/await

import asyncioasync def async_task():print("任务开始")await asyncio.sleep(2)  # 模拟异步 I/O 操作print("任务完成")async def main():await async_task()asyncio.run(main())

特点

  • await asyncio.sleep(2) 不会阻塞主线程,在等待的同时可以执行其他任务。
  • 适用于 原生支持 async 的库(如 httpx.AsyncClientaiomysql)。
  • 需要被 await
http://www.xdnf.cn/news/1553.html

相关文章:

  • 专题二十:路由策略与策略路由
  • 内存管理(Linux程序设计)
  • [SystemVerilog]例化
  • 【蓝桥杯】 数字诗意
  • 使用Python创建带边框样式的Word表格
  • 利用爬虫获取 1688 商品详情:高效的数据采集方法
  • sglang部署DeepSeek-R1-Distill-Qwen-7B
  • box-sizing: border-box的用法和作用
  • C++开发基础之调试宏的理解和应用
  • 3.2 Agent核心能力:感知、规划、决策与执行
  • MineWorld,微软研究院开源的实时交互式世界模型
  • MySQL安装步骤
  • 【AI大模型】推理大模型与预训练大模型:架构差异与认知范式的技术解构
  • SpringBoot入门实战(第六篇:项目接口-登录)
  • AXOP39062: 25MHz轨到轨输入输出双通道运算放大器
  • 计算机网络 第二章:应用层(三)
  • rpm包管理
  • NAS功能特点及应用场景
  • 工作记录9
  • AI大模型和人脑的区别
  • VAE-LSTM异常检测模型复刻报告
  • 前端笔记-Vue router
  • 自主可控鸿道Intewell工业实时操作系统
  • 量子跃迁:Vue组件安全工程的基因重组与生态免疫(完全体)
  • Spring AI - Redis缓存对话
  • 第五章:5.3 ESP32物联网应用:阿里云IoT平台与腾讯云IoT平台的数据上传与远程控制
  • 阻塞式队列
  • 非关系型数据库 八股文 Redis相关 缓存雪崩 击穿 穿透
  • Vite/Rollup 模块热更新
  • Springboot整合Redis主从