- wudaijun.com/2018/01/go-…
- mp.weixin.qq.com/s/5684a-2pN…
- tonybai.com/2017/06/23/…
- software.intel.com/en-us/blogs…
GPM模型
G: 运行栈
保存运行时环境信息
P: 逻辑processor,(全局变量,控制实际运行的M数量)
控制实际正在运行的M数量
M: 系统线程,实际processor
执行G,执行前必须先绑定一个P(maxP-1),释放P(maxP+1)
处于g0(调度栈) / g(G栈)
调度(非抢占式)
主动让出
系统调用
栈扩张(函数调用)
sysmon
gc
标记抢占执行时间过长的P
抢占sys过长的P