前言

前面用了十讲介绍了 Go runtime 调度器,这一讲结合一些图在总览下 Go runtime 调度器。

状态转换图

首先是 Goroutine 的状态转换图:

status process

大部分转移路径前面几讲也介绍过,这里就不继续介绍了(下同)。

接着是 P 的状态转移图:

P status process

最后是线程 M 的状态转移图:

M status process

注:上述图片均来自于公众号 [码农桃花源],饶大画的太好了,直接让人不想画了。很好的公众号,干货满满,逻辑严密,清晰,偶尔还诙谐幽默,推荐哦。

GPM

GPM 工作流程

直接上图:

GPM process

这个图来自资深 Gopher 曹大,他的网站在 这里,推荐哦

调度流程

schedule process

点这里看 -> 动态演示图

这个图和动画也来自曹大哈哈

小结

基本到这里 Go runtime 调度器精讲就介绍差不多了,希望这几讲能让大家有所收获,感谢陪伴,再见。

参考资料