14-go调度器
go调度器主要有4个重要结构:m,p,g,schedt。
定义在src\runtime\runtime2.go中。
schedt结构就是调度器,它维护有存储M和G的队列以及调度器的一些状态信息等。
1. MPG
1.1 M:代表内核级线程
一个M就是一个线程,goroutine就是跑在M之上的;M是一个很大的结构,里面维护小对象内存cache(mcache)、当前执行的goroutine、随机数...
原创
2019-07-03 23:28:29 ·
318 阅读 ·
0 评论