Go技术日报(2021-04-15)——大型生产系统的问题定位

每日一谚: 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. 大型生产系统的问题定位

来源: 社区主题 - 每日资讯 - Go语言中文网 - Golang中文社区

GOCN每日新闻–2021-04-15

1.Go 性能传说

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

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

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

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

gopherDaily–2021-04-15

来源:https://gopher-daily.com/

码农桃花源–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的三种调度方式

每日算法

lc710 黑名单中的随机数

编辑: Amartya 果果
更多内容详见:码农桃花源专集 · 语雀