Python
2026-09-29
asyncio 超时:wait_for 和 timeout 到底取消了谁
本机真实验证wait_for对有await点的协程正常生效,但对纯CPU忙等无await点的协程完全失效,跑满全程才返回。
Python
asyncio
真实验证
动画演示
Python
2026-09-29
asyncio.shield:如何保护任务不被外层取消
本机真实对比有shield和没有shield时wait_for超时对底层任务的影响,验证shield让取消止步于外层。
Python
asyncio
真实验证
动画演示
Python
2026-09-29
asyncio.Queue:异步生产者消费者模型
本机真实用小容量队列验证put()的背压阻塞机制,以及join()真实等待的是未完成任务计数归零而不是队列清空。
Python
asyncio
真实验证
动画演示
Python
2026-09-29
asyncio.Lock、Semaphore 和 Event:异步同步原语怎么选
本机真实用Semaphore限流、Event广播唤醒、Lock重复acquire测试可重入性,验证三种异步同步原语完全不同的行为语义。
Python
并发编程
真实验证
动画演示
Python
2026-09-29
contextvars:异步任务之间如何传递请求上下文
本机真实对比ContextVar和普通全局变量在并发场景下的隔离性,验证请求上下文该用哪种变量才不会互相污染。
Python
并发编程
真实验证
动画演示
Python
2026-09-29
threading.Condition:线程为什么需要等待条件
本机真实用Condition搭建生产者消费者,并故意用if代替while炸出一个真实的IndexError来验证官方建议的必要性。
Python
并发编程
真实验证
动画演示
Python
2026-09-29
threading.Event:线程停止信号怎么设计
本机真实对比忙等轮询(800万次空转)和Event.wait()两种停止信号写法的CPU占用和响应速度差距。
Python
并发编程
真实验证
动画演示
Python
2026-09-29
线程异常、进程异常:主程序如何感知后台失败
本机真实对比裸Thread、ThreadPoolExecutor和multiprocessing.Process三种方式在异常发生后主程序真实能感知到多少信息。
Python
并发编程
真实验证
动画演示
Python
2026-09-29
TypeVar:泛型函数如何保持类型关系
本机真实用mypy检查带TypeVar的泛型函数,验证同类型调用被精确推断、混合类型调用退化成object,以及运行时对这些标注完全无视。
Python
类型系统
真实验证
动画演示
Python
2026-09-29
Protocol:Python 如何实现结构化类型
本机真实验证Protocol的类型兼容性判定只看方法签名不看继承关系,isinstance在runtime_checkable下同样不依赖__mro__。
Python
类型系统
真实验证
动画演示
Python
2026-09-29
ParamSpec:装饰器如何保留原函数参数类型
本机真实对比Callable[...,R]和ParamSpec两版装饰器,验证前者会让被装饰函数丢失参数类型检查,后者完整保留。
Python
类型系统
真实验证
动画演示
Python
2026-09-29
TypeGuard:类型检查器如何理解自定义判断函数
本机真实对比返回bool和返回TypeGuard的判断函数,验证只有TypeGuard能让mypy在if判断后正确收窄元素类型。
Python
类型系统
真实验证
动画演示