在有很多个M的情况下,新的 goruntine 会放到哪个M下

来源:1-4 Go 程序是怎么跑起来的

weixin_宝慕林7190567

2021-05-31 13:51:38

在有很多个M的情况下,新的 goruntine 会放到哪个M下吗

是当前执行goroutine的M吗 这样的话 什么时候会放在别的M里面呢

请老师解答。

写回答

1回答

Xargin

2021-05-31

当前执行 goroutine 的那个 M,它绑定了一个 p,会放在这个 p 的 runnext、local runq,然后才是 global runq


这个应该第一节课讲过了,看一下当时的动画吧~

0
hargin
hp>你甚至可以直接在 schedule 函数里加一些 print 日志来看这个结果


或者搜一下 schedtrace 这个 flag(执行太快的话,可能看不出效果来)

h021-06-03
共3条回复

Go高级工程师实战营

慕课网与 GoCN 社区官方联手打造,定义行业Go高级人才培养标准,4个月,快速晋升为P6+/D7级高级人才。

458 学习 · 266 问题

查看课程