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

发布时间:2026/10/28 8:22:38
具身智能四(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)

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询