关于schedt类型中的几个字段含义

来源:1-6 Go 语法背后的秘密

Garry_27

2021-05-17 21:03:37

http://img.mukewang.com/climg/60a26999091a619706730336.jpg

曹大这个是runtime包中的schedt结构体中定义的字段,红框标记的几个字段含义是什么啊

写回答

1回答

Xargin

2021-05-17

gcwaiting 表示正在等待执行 GC,这时候可能还在抢占那些正在执行的 goroutine

stopwait 和 stopnote 也是和 GC 流程相关计数器和类似锁的东西(需要阻塞等待


sysmonwait 表示后台的 sysmon 线程是不是在休眠

sysmonnote 是 sysmon 休眠的时候需要用到的一个类似锁的东西(需要阻塞等待


runtime 里的 xxxnote 一般都是需要休眠的时候会用到的结构,具体的解释在 type note struct 的结构体注释里


看代码的时候其实可以不用看这么细。。。刚开始了解脉络就行了,所有字段都想搞清楚很容易迷失

1

Go高级工程师实战营

慕课网与 GoCN 社区官方联手打造,定义行业Go高级人才培养标准,4个月,快速晋升为P6+/D7级高级人才。

458 学习 · 266 问题

查看课程