go协程调度中的三个基本对象关系协作图
2019-09-24 19:31:27 15 举报
go学习
作者其他创作
大纲/内容
sysmon
P | M
execute
findrunnable
global
gexit
steal
go func()
G
1. 语句go func() 创建G 2. 放入P的本地队列(或者平衡到全局队列) 3. 唤醒或新建M执行任务 4. 进入调度循环 schedule 5. 竭力获取待执行G任务并执行 6. 清理现场,重新进度调度循环
balance
schedule
P | local
G.fn
M
收藏
收藏
0 条评论
下一页