You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Asyncio中Event loop的创建与启动方法咨询

Python asyncio:事件循环的创建与启动方法

一、可创建事件循环的方法

  • asyncio.new_event_loop():直接创建并返回一个全新的事件循环实例,是最明确的主动创建方式。
  • asyncio.get_event_loop():核心定位是获取而非主动创建,仅在主线程且当前无事件循环时,会隐式创建并返回新循环;其他场景(如子线程无循环)会抛出异常。
  • asyncio.run():Python 3.7+引入的高层API,内部会自动创建新事件循环,执行完目标协程后自动关闭循环。它是一站式协程执行工具,包含创建循环的逻辑,但并非专门的创建接口。

二、可启动事件循环的方法

  • loop.run_until_complete(future):启动事件循环,直到传入的协程、Task或Future对象执行完成后停止。
  • loop.run_forever():启动事件循环并持续运行,直到手动调用loop.stop()才会终止。
  • asyncio.run(coro):高层封装方法,内部调用底层启动逻辑运行协程,无需手动管理循环的启动与关闭。

针对疑问的明确说明

asyncio.run()内部包含创建事件循环的逻辑,但它的核心是执行协程;asyncio.get_event_loop()仅在主线程无循环的特定条件下会隐式创建循环,它的主要作用是获取已存在的循环。

内容的提问来源于stack exchange,提问作者user3103957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:22:23