很多时候,当我们跟着源码去理解某种事物时,基本上可以认为是以时间顺序展开,这是编年体的逻辑.还有另一种逻辑,纪传体,它以人物为中心编排史事,使得读者更聚焦于某个人物.以一种新的视角,把所有的事情串连起来,令人大呼过瘾.今天我们试着以这样一种逻辑再看 g0. 回顾一下 Go 夜读第 78 期,关于调度器源码分析的内容.我们讲过,与主线程绑定的 M 对应的 g0 的主要作用是提供一个比一般 goroutine 要大的多栈(64K)供 runtime 代码执行. 初始化的过程中,在函数 runtime…