golang 大杀器——GMP模型
文章目录
golang 大杀器——GMP模型
1. 发展过程
2. GMP模型设计思想
2.1 GMP模型
2.2 调度器的设计策略
2.2.1 复用线程
2.2.2 利用并行
2.2.3 抢占策略
2.2.4 全局G队列
2.3 `go func()`经历了那些过程
2.4 调度器的生命周期
2.5 可视化的CMP编程
2.5.1 trace方式
2.5.2 debug方式
3. GMP场景分析
3.1 G1创建G3
3.2 G1执行完毕
3.3 G溢出
3.4 唤醒正在休眠的M
3.5 自旋线程获取G
3.6 M2从M1中偷取G
3.7 自旋线程的最大限制
3.8 G发送系统调用/阻塞
3.9 G发送系统调用/非阻塞
文章目录
golang 大杀器——GMP模型
1. 发展过程