异步编程的四十年博弈:从回调地狱到结构化并发

1958年,一位名叫Melvin Conway的程序员在编写汇编程序时,遇到了一个困扰:他想让程序在执行到某处时"暂停",稍后从暂停点继续执行。这个看似简单的需求,催生了一个被命名为"协程"(coroutine)的概念。 ...

10 min · 4964 words

协程调度:从用户态线程到Go GMP模型的二十年演进

1963年7月,Communications of the ACM发表了一篇题为《Design of a Separable Transition-Diagram Compiler》的论文。作者Melvin Conway提出了一个当时看来颇为新奇的概念:将编译器的词法分析阶段分解为多个"可以互相挂起和恢复"的执行单元。他将这些执行单元称为"coroutine"——协程。 ...

13 min · 6241 words