![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
goroutine
浩玥当空照
写的过程就是在学习
展开
-
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 评论 -
13-goroutine创建过程
1. 创建一个goroutine 通过go创建一个goroutine。底层通过runtime.newproc()创建。 go my_goroutine(); //对应汇编 0x0034 00052 (mygoroutine.go:13) CALL runtime.newproc(SB) 2. runtime.newproc() 切换到系统栈(g0,或者gsinal),执行n...原创 2019-06-30 18:36:09 · 838 阅读 · 0 评论