GPM调度模型

参考解析

题目来源:滴滴

答案:

  • 队列轮转:P会周期性的将G调度到M中执行,执行一段时间后,保存上下文,将G放到队列尾部,然后从队列中再取出一个G进行调度,除此之外,P还会周期性的查看全局队列是否有G等待调度到M中执行。
  • 系统调用:当G0即将进入系统调用时,M0将释放P,进而某个空闲的M1获取P,继续执行P队列中的剩下的G,M1的来源有可能是M的缓冲池,也可能是新建的。