参考资料 - Go 实战
上一讲讲完了 main goroutine 的诞生,它不是第一个,算上 g0,它要算第二个了。不过,我们要考虑的就是这个 goroutine,它会真正执行用户代码。
1820 字
|
9 分钟
参考资料 - Go 基础
上一讲说到调度器将 main goroutine 推上舞台,为它铺好了道路,开始执行 runtime.main 函数。这一讲,我们探索 main goroutine 以及普通 goroutine 从执行到退出的整个过程。
1368 字
|
7 分钟
goroutine 调度时机有哪些 - 调度器
在四种情形下,goroutine 可能会发生调度,但也并不一定会发生,只是说 Go scheduler 有机会进行调度。
214 字
|
1 分钟
goroutine和线程的区别 - 调度器
谈到 goroutine,绕不开的一个话题是:它和 thread 有什么区别?
446 字
|
2 分钟
GPM 是什么 - 调度器
G、P、M 是 Go 调度器的三个核心组件,各司其职。在它们精密地配合下,Go 调度器得以高效运转,这也是 Go 天然支持高并发的内在动力。今天这篇文章我们来深入理解 GPM 模型。
1008 字
|
5 分钟
参考资料 - 调度器
在 schedule 函数中,我们简单提过找一个 runnable goroutine 的过程,这一讲我们来详细分析源码。
2950 字
|
15 分钟
参考资料 - Golang
上一讲我们讲完了 Go scheduler 的初始化,现在调度器一切就绪,就差被调度的实体了。本文就来讲述 main goroutine 是如何诞生,并且被调度的。
1058 字
|
5 分钟
参考资料 - schedule 循环如何启动
上一讲新创建了一个 goroutine,设置好了 sched 成员的 sp 和 pc 字段,并且将其添加到了 p0 的本地可运行队列,坐等调度器的调度。
1008 字
|
5 分钟