每日一谚: Go is about being a language that focuses on code being readable.
一、Go语言中文网
Goroutine 开启和退出到底做了什么?
Go 数据结构和算法篇(三):队列
二、亚军进化史
三、奇伢云存储
四、k8s技术圈
Prometheus Operator 对接 Thanos
阿里云SLS研发-可观察性方向 | 云原生招聘
五、脑子进煎鱼了
六、TechPaper
来源: https://studygolang.com/go/godaily
1.Go 性能传说
2.通过 Go 揭开 pprof 神秘面纱
3.通过 Go 共享对象加速 Python 程序
4.gotuna: 渐进式 Web 开发框架
5.mugo: Go 子集玩具编译器并实现自我编译
1.给expvarmon插上数据持久化的“翅膀”
2.Dapr | 云原生的抽象与实现
3.Go panic惯用法
4.Go实现Couchbase原子计数器
5.为什么Go可执行文件仍在变得越来越大(2021版)
6.经典演讲:设计原型 - by Robert Griesemer
7.docker cli增加compose子命令
8.使用ebpf扩展systemd安全特性
9.pingme: 可向多个消息平台和电子邮件发送消息或警报的cli工具
来源:https://gopher-daily.com/
活文档
go scheduler 主动调度
go scheduler 抢占调度
系统调用执行时间过长的goroutine
至此一个go scheduler 系列学习完成,你是否有跟我一起学习呢,今天明天我们总结复习一下所有跟scheduler有关的问题,下周开始新篇章
• 为什么需要 P 这个组件,直接把 runqueues 放到 M 不行吗?
• gpm到底是什么
• scheduler是如何调度的
• 什么时候会触发调度
• 当在M上运行的goroutine发生阻塞时,会怎么工作
• 为什么每个P都会对应一个g0,m0 (g0是用于调度每个线程中的goroutine,包括gc等等,拥有比较大的栈内存)
• 什么时候会抢占P
• 调度的本质
• 多个线程与多个M如何一一对应?
• 为什么要把工作线程与m对应
• 为什么在创建goroutine的newproc函数要传入参数大小
• 什么时候调用的main函数?
• g0到main goroutine的转换过程
• 非main goroutine是如何返回到goexit函数的;
• mcall函数如何从用户goroutine切换到g0继续执行
• 调度循环
• 使用什么策略来挑选下一个进入运行的goroutine
• 如何把挑选出来的goroutine放到CPU上运行
• schdule的三种调度方式
lc710 黑名单中的随机数
编辑: Amartya 果果
更多内容详见:https://www.yuque.com/qcrao/share/
关注公众号回复:微信,拉你入群。