怎么理解g0和m0,和生产消费的g、m有什么不同
来源:1-4 Go 程序是怎么跑起来的
panccvv
2021-05-18 18:30:00
怎么理解g0和m0,和曹大在课程上说的生产和消费的g、m有什么不同
2回答
再补充一句,m0 因为执行的是主函数,所以它退出的时候有一些特殊逻辑
比如你的 main 函数退出了,那它相关的资源什么的也需要退出。
Xargin
2021-05-18
g0 是 M 在执行调度指令时使用的 g,栈使用了线程创建的时候默认的线程栈
m0 在图上有了
update 2021.06.20:
m0 是程序启动时操作系统自动给我们创建好的第一个线程,一般也被称为主线程。
在 Go 里,这个线程也是参与调度的,之前画的图有点问题~
相似问题