async/await 到底在等什么:从状态机到 ConfigureAwait
把一个 async 方法编译出来看看它变成了什么,再解释 ConfigureAwait(false)、同步上下文和死锁的真实成因,最后给出库里该不该加它的判断标准。
理解状态机与调度,才能写出不会死锁的异步代码
把一个 async 方法编译出来看看它变成了什么,再解释 ConfigureAwait(false)、同步上下文和死锁的真实成因,最后给出库里该不该加它的判断标准。
取消不是中断线程,而是约定。讲清楚传递链路、ThrowIfCancellationRequested 的位置、超时与取消的区别,以及常见的资源泄漏。
每一个临时数组都是一次 GC 压力,能量化就不要靠感觉
从解析一段协议报文开始,用 ref struct、stackalloc 和切片把临时数组全部消掉,并说明 Span 为什么不能跨 await 保存。
容器管生命周期,边界管依赖方向,别让两者互相打架
Singleton、Scoped、Transient 的边界到底在哪里,为什么在 HostedService 里直接注入 DbContext 会出错,以及正确的做法与验证方式。
能交给编译器的重复劳动,就不要交给运行时
写一个真正能用的增量源生成器,为标记类型自动生成映射代码,并讨论缓存、增量比较和调试方式这些容易翻车的地方。