GPM调度模型

本文阅读 1 分钟
首页 golang 正文

题目序号:1754

题目来源:滴滴

频次:同题5

答案:重拾

  • 队列轮转:P会周期性的将G调度到M中执行,执行一段时间后,保存上下文,将G放到队列尾部,然后从队列中再取出一个G进行调度,除此之外,P还会周期性的查看全局队列是否有G等待调度到M中执行。
  • 系统调用:当G0即将进入系统调用时,M0将释放P,进而某个空闲的M1获取P,继续执行P队列中的剩下的G,M1的来源有可能是M的缓冲池,也可能是新建的。
本文来自投稿,不代表本站立场,如若转载,请注明出处:
syncpool的实现原理
« 上一篇 09-17
问了sync.Map(我说我对sync.Pool比较熟,就说Pool了)
下一篇 » 09-17

发表评论

发表评论