> 本文以问题驱动视角梳理并发模型的演化——每一代模型的出现都是在回应上一代的具体缺陷,协程是这条演化链的必然结果,而非凭空出现的新技术。 --- 目录 | 章节 | 说明 | |------|------| | 并发的本质问题 | CPU 等待与 IO 等待的本质 | | 多进程时代 | C10K 问题量化分析 | …
2026-05-25
> 协程的"暂停与恢复"在 CPU 和内存层面并不神秘:本质是保存/恢复执行上下文。但有栈和无栈走的是两条根本不同的路——前者在运行时管理独立的调用栈,后者让编译器把函数变成状态机。读完本文,你将理解这两条路各自的代价与边界,以及调度模型如何决定并发与并行的能力上限。 --- 目录 | 章节 | 说明 | |-----…
2026-05-25
> 本文在「有栈/无栈 × 调度模型」的框架下,分析 Go、Python、JavaScript、Kotlin、Java Virtual Thread、C++20 各自做了哪些权衡,以及这些权衡背后的工程原因。核心结论:有栈协程倾向对用户透明,无栈协程倾向编译器支持用户显式控制,两种哲学没有绝对优劣,只有场景匹配度。 -…
2026-05-25