用途:整理 Python 异步编程与并发模式的参考内容,面向需要同时处理多个 I/O 操作、构建异步服务或客户端的开发者。
主要能力:基础 async/await 语法与 asyncio.run() 入口;用 asyncio.gather 与 asyncio.wait 并发执行并控制结果;用 asyncio.create_task 创建、命名和查询任务;异步上下文管理器与 asynccontextmanager;异步迭代器与异步生成器;asyncio.Queue 实现生产者—消费者模式;Semaphore 限制并发数,Lock 做互斥;通过 wait_for 设置超时并处理 CancelledError;直接管理事件循环;用 concurrent.futures 的 ThreadPoolExecutor 运行阻塞 I/O、ProcessPoolExecutor 运行 CPU 密集任务,并用 loop.run_in_executor 调度;aiohttp 发起异步 HTTP 请求;异步异常处理与 return_exceptions。
使用方式:以 async def 定义协程,用 await 调用;主入口用 asyncio.run(main());并发用 gather 或 create_task;需要精细控制用 wait;阻塞函数交给线程池或进程池执行;网络操作设置超时。
适用场景:API 调用、数据库查询等并发 I/O;异步 Web 服务器或客户端;异步数据流处理;异步队列的生产者—消费者;在事件循环中执行阻塞 I/O;流式数据的异步迭代;并发控制与取消。
限制与注意:忘记 await 不会运行协程;CPU 密集工作会阻塞事件循环;应使用 asyncio.sleep 而非 time.sleep;需处理任务取消与后台任务异常;并发任务数量应设限;Queue 需调用 task_done;资源应在异步上下文中正确关闭。文中未提供具体安装命令、收费与平台信息。