Python 异步编程与协程

一、异步编程概述
1.1 什么是异步编程
异步编程是一种并发编程方式,通过非阻塞操作提高程序执行效率。在等待 I/O 操作完成时,程序可继续执行其他任务,无需阻塞。
1.2 优势
- 提高效率:I/O 等待期间执行其他任务。
- 降低资源消耗:减少线程切换开销。
- 简化结构:协程和任务调度使代码更简洁。
1.3 应用场景
- 网络通信:HTTP 请求、Web 服务器、WebSocket。
- 文件操作:大文件读写。
- 数据库操作:异步查询。
二、协程的定义与使用
2.1 定义
协程(Coroutine)是轻量级线程,支持暂停和恢复。Python 中通过 async def 定义。
2.2 基本示例
import asyncio
async def hello():
print('Hello, World!')
await asyncio.sleep(1)
print('Hello again!')
asyncio.run(hello())
2.3 并发运行
import asyncio
async def count():
print('Counting...')
await asyncio.sleep(1)
print('Counted!')
async def main():
await asyncio.gather(count(), count(), count())
asyncio.run(main())


