具身智能四(asyncio 事件循环)

发布时间:2026/10/17 18:15:55

具身智能四(asyncio 事件循环) 什么是协程异步函数在 Python 中被称为协程它们是可等待对象可以在事件循环中被挂起和恢复。Python 中的异步函数协程函数是用async def定义的函数‌调用时不会立即执行函数体‌而是返回一个‌协程对象‌必须通过‌事件循环‌event loop调度并在内部使用await挂起/恢复才能实现非阻塞的并发执行。异步≠并行。它是‌单线程内的协作式并发‌通过快速切换任务提升 I/O 等待效率CPU 密集型任务仍需用多进程。协程出现之前Python 开发者需要依赖threading或multiprocessing模块来实现并发这不仅编程模型复杂而且在处理大量并发网络连接时效率低下。asyncio提供了事件循环和协程的概念使得开发者能够以更低的开销实现大规模 IO 密集型任务的并发。协程原理在 Python 中使用async def定义一个异步函数协程函数。调用时不会立即执行而是返回一个协程对象。要真正运行它需要用await等待或者交给事件循环。什么是asyncioasyncio 是 Python 标准库中用来写异步并发代码的框架‌它通过单线程事件循环让程序在等待 I/O 时能处理其他任务特别适合网络请求、文件读写等 IO 密集型场景 。运行异步函数1、交给事件循环2、await等待asyncio.run 会自动创建事件循环并运行主协程2、调用例子loop, loop_thread get_loop() # 往后台循环提交异步任务 future asyncio.run_coroutine_threadsafe(my_async_func(), loop) result future.result()注意1每个线程只能有一个正在运行的 loop。新建出来的 loop 只属于刚刚启动的那条子线程。主线程不能直接 await 这个 loop 里面的协程只能用run_coroutine_threadsafe跨线程提交协程必须用asyncio.run_coroutine_threadsafe不能直接loop.create_task2程序退出会自动销毁 (daemon)但组件正常关闭最好手动loop.call_soon_threadsafe(loop.stop)
延伸阅读

更多相关文章

2026/10/13 14:54:33

ADC基准电压与参考电压详细解读:以STM32和28335为例

ADC的参考电压和基准电压ADC(模数转换器)是将模拟信号转换为数字信号的设备。转换过程中,需要一个参考电压(Vref)作为转换的基准。这个参考电压决定了ADC的输入范围,通常ADC输出的数字值表示输入电压相对于…

2026/10/7 9:21:13

如何挑选优质陶瓷,让家居焕然一新?

挑选优质陶瓷,让家居焕然一新,这事儿可真得好好聊聊。毕竟,瓷砖可是家里的门面担当,选好了不仅美观大方,还能提升居住的舒适度。今天我就结合自己在陶瓷行业摸爬滚打多年的体会,跟大家聊聊如何挑选到称心如…

2026/10/17 18:15:53

JADE盲源分离算法:MATLAB完整实现与核心原理详解

简介:JADE盲源分离算法是经典的高阶统计量独立成分分析方法,面向语音信号处理、阵列信号分离等应用场景的研究人员与工程师。该算法以源信号统计独立及非高斯性为前提,最多仅允许一个高斯源,通过四阶累积量联合近似对角化完成混合…

2026/10/17 18:15:53

AI赋能业务落地指南:场景筛选、评估集与成本模型

这两年常被人问到同一个问题:2026年了,AI到底还能怎么赋能业务?问的人有做电商运营的,有维护内部系统的,也有刚带团队的负责人。说实话,两三年前我听到这类问题,还会认真讲一堆算法原理。现在再…

2026/10/17 18:15:53

VLA模型破壁入世:从固定脚本到理解意图的机器人控制新范式

做机器人控制这些年,我越来越清楚一个事实:机器人在高度结构化的产线上可以做到又快又准,可一旦把它放到家里、仓库、实验室这种“没人替它把世界摆好”的场景,传统方案的短板就暴露得一干二净。最近圈子里高频出现的VLA&#xff…

2026/10/17 18:15:53

AI论文生成工具怎么选?从选题到参考文献的完整使用指南

最近总有人私信我:能不能推荐几款AI论文生成工具?说实话,看到这类问题,我第一反应是高兴,因为越来越多的人开始把AI当成效率工具使用;第二反应是担心,因为不少人把“生成工具”理解成了“一键写…

2026/10/17 18:10:53

Unity UGUI性能优化:Graphic绘制、重建与合批机制深度解析

1. 从一次UI卡顿说起:Graphic到底在干什么做过Unity项目的人,尤其是做过中重度手游或者带复杂HUD的工具类应用的人,大概率都遇到过这样的场景:战斗一开,满屏飘字、血条、技能图标、buff图标一起刷出来,帧率…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/17 14:20:58

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/17 0:04:32

PlanarSLAM:面向曼哈顿世界的点线面联合SLAM系统

简介:本资源是面向机器人视觉与SLAM研究者的C开源RGB-D SLAM系统实现,专为结构化室内场景(如办公室、走廊)设计,通过融合点、线、平面三类几何特征并引入“曼哈顿世界”假设,显著提升位姿跟踪鲁棒性与稠密地…

2026/10/17 0:04:32

TDH Workflow调度实战:从DAG依赖驱动到任务编排与故障排查

1. 从一个调度脚本说起:TDH Workflow到底在解决什么问题第一次接触TDH的Workflow,是在一个数据清洗项目里。当时团队每天要跑几十个ETL任务,任务之间有严格的先后依赖——A表清洗完才能跑B表的关联,B表跑完才能触发C表的聚合。最开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑