C++20 协程深入:co_await 机制、自定义 Awaitable 与生成器
深入 C++20 无栈协程的编译器视角:协程帧布局、co_await/co_yield 的展开机制、promise_type 与自定义 Awaitable、C++23 生成器与异步流,以及协程在服务端 IO 与性能陷阱上的实战经验。
tag
深入 C++20 无栈协程的编译器视角:协程帧布局、co_await/co_yield 的展开机制、promise_type 与自定义 Awaitable、C++23 生成器与异步流,以及协程在服务端 IO 与性能陷阱上的实战经验。
同步库直接写进 async 会阻塞整个事件循环。本节用本地服务实测 requests 串行、to_thread 与 httpx.AsyncClient 的耗时差,讲连接池、contextvars、async for 与 async with,并盘点假异步:忘记 await、循环里串行 await、create_task 丢引用,最后说明何时不该用异步。
协程函数调用后只返回一个协程对象,不 await 就静默不执行。本节从 async def 与 await 的语义讲起,用真实计时证明单线程并发,再用 time.sleep 与 asyncio.sleep 的对比说明阻塞调用如何卡死事件循环,并厘清 get_running_loop 与 get_event_loop 的差异。
Python asyncio 完整指南:从零理解协程、事件循环、Task 调度,掌握 asyncio.create_task, asyncio.gather, Semaphore 限流等核心 API。通过爬虫、Web 服务、数据库访问三大实战场景,构建高并发 Python 程序。