豆包牛批普拉斯
1. Python async/await 异步机制
核心原理:
- 基于 ** 协程(Coroutine)** 与事件循环(Event Loop),在单线程内实现并发,避免多线程切换开销。
async定义协程函数,await标记阻塞点,当遇到 I/O 操作(如网络请求、文件读写)时,主动让出 CPU 执行权,事件循环调度其他就绪协程。- 本质是用户态调度,由开发者控制切换时机,而非操作系统内核调度。
优势:
- 高并发:单线程可处理大量 I/O 密集型任务,资源占用远低于多线程。
- 低延迟:避免线程上下文切换与锁竞争,提升响应速度。
- 代码简洁:同步式写法实现异步逻辑,可读性强。
适用场景:
- I/O 密集型任务:Web 服务、爬虫、数据库交互、API 调用等。
- 高并发服务:如 FastAPI、aiohttp 等框架构建的后端服务。
- 不适用于 CPU 密集型任务(会阻塞事件循环,需搭配多进程 / 线程池)。
2. FastAPI 中 Depends 依赖注入
核心作用:
- 实现依赖解耦,将共享逻辑(如认证、数据库连接、参数校验)封装为可复用的依赖函数,在
