每日一谚: Go is about being a language that focuses on code being readable.


go中文网每日资讯--2021-04-15

一、Go语言中文网

  1. ​Goroutine 开启和退出到底做了什么?​
  2. ​Go 数据结构和算法篇(三):队列​

二、亚军进化史

  1. ​Go技术日报(2021-04-14)——Go+的设计原来是怎么思考的​

三、奇伢云存储

  1. ​推荐几个优秀的技术分享者,和他们在一起你也会优秀​

四、k8s技术圈

  1. ​Prometheus Operator 对接 Thanos​
  2. ​阿里云SLS研发-可观察性方向 | 云原生招聘​

五、脑子进煎鱼了

  1. ​用 Go struct 不能犯的一个低级错误!​

六、TechPaper

  1. ​大型生产系统的问题定位​


GOCN每日新闻--2021-04-15

1.​​Go 性能传说 ​

2.​​通过 Go 揭开 pprof 神秘面纱​

3.​​通过 Go 共享对象加速 Python 程序 ​

4.​​gotuna: 渐进式 Web 开发框架​

5.​​mugo: Go 子集玩具编译器并实现自我编译 ​

gopherDaily--2021-04-15


码农桃花源--2021-04-15

文章分享

  1. ​活文档​
  2. ​go scheduler 主动调度​
  3. ​go scheduler 抢占调度​
  4. ​系统调用执行时间过长的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的三种调度方式

每日算法


  • 订阅公众号:亚军进化史go每日新闻(2021-04-15)——大型生产系统的问题定位_数据持久化