![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 75
反正CPU闲着也是闲着
这个作者很懒,什么都没留下…
展开
-
dlv使用技巧小记
dlv使用技巧小记原创 2022-12-04 15:35:49 · 527 阅读 · 0 评论 -
golang gc笔记
GC三色标记法过程开始前所有对象都是白色将根节点指向的对象标记成灰色遍历每个灰色对象,将自己指向的对象标成灰色,同时将自己标成黑色重复至没有灰色对象清除剩余的所有白色对象写屏障因为标记过程是并发的,在并发阶段新创建的对象如何处理着色?白色,不行,万一引用这个新对象的是个黑色,那在这一轮标记结束后,该对象会被清除,可能会引起用户程序错误灰色,可行,染成灰色是偏保守但不会出错的方案,但如果这个对象实际上不是存活对象的话,这轮gc是肯定不会清除他的,只能等下一轮原创 2022-02-27 20:57:27 · 328 阅读 · 0 评论 -
go 并发调度笔记
开启一个m从空闲process列表中获取一个process从空闲列表获取一个m,或者新建一个m使用newosproc()方法创建一个内核线程,并把内核线程和m以及mstart方法关联,该线程执行时会调用mstart方法由该m的g0开始执行schedule方法g0的作用?为runtime 下调度G的工作提供栈空间,每个m都有一个g0调度循环schedule()获取G,有三种方式每处理n个任务后就去全局g队列中获取G,同时会将全局队列中一定数量的G搬运到原创 2021-12-16 13:13:34 · 700 阅读 · 0 评论