Golang Runtime Reading Save

golang 1.10.2 runtime code reading - golang runtime源码分析。只有思考过,你才会印象深刻。

Project README

初定方案

有任何理解错误的地方,还望指出

golang官网

目标

理解golang runtime的运行原理,重点掌握golang的调度,gc,内存分配,数据结构.

对于注释不理解的,欢迎提issue

目前的进度

  • 2018-08-05 已阅读完调度系统的大概源码
  • 2018-08-12 正在仔细阅读调度的源码
  • 2018-08-19 正在仔细阅读调度的源码
  • 2018-08-27 正在仔细阅读调度的源码
  • 2018-09-02 已仔细阅读完调度的源码,正在阅读gc的大概源码
  • 2018-09-09 正在阅读gc的大概源码
  • 2018-09-16 大概阅读完gc流程源码
  • 2018-09-24 开始详细阅读gc源码
  • 2018-10-13 理解mgc的注释和大概阅读gcStart
  • 2018-10-20 阅读gcMark准备和markroots扫描根对象的逻辑
  • 2018-10-27 阅读gc的栈扫描和消费标记队列
  • 2018-11-04 内存分配的注释 (@jingyugao)
  • 2018-11-25 简单看了一下系统调用如何调度
  • 2018-01-12 开始阅读内存分配
  • 2019-01-19 补充gc的整个流程和继续阅读内存分配
  • 2019-02-10 继续阅读内存分配
  • 2019-02-22 基本阅读完内存分配的流程,接下来阅读栈的分配
  • 2019-03-03 阅读栈管理的代码
  • 2019-03-18 基本阅读完stack的分配
  • 2019-03-30 阅读golang网络底层原理和Mutex的实现
  • 2019-04-08 简单阅读channel的实现
  • 2019-04-21 从头开始阅读调度系统,并开始编写调度实现文档
  • 2019-05-12 继续阅读调度系统,编写调度实现文档

微信群

想一起阅读的小伙伴可以加我微信sheepbao-520,加入阅读群 wechat

github地址

https://github.com/sheepbao/golang_runtime_reading

时间

每周日晚9:00-10:00

golang版本

go1.10.2

准备工作

  • 有一台能上网的电脑
  • 安装zoom软件,并注册
  • 装一个阅读golang源码的编译器或者ide,推荐vscode
  • 下载go1.10.2的源码

可以先阅读的资料

活动步骤

  • 线上用zoom共享屏幕,阅读golang runtime源码,一起讨论添加注释,尽量让每个人都理解
  • 提交结果到github

阅读的方式

  1. 选好一个主题,并查询资料阅读该主题的相关背景
  2. 大概浏览阅读相关源码
  3. 仔细阅读源码实现原理
  4. 最后再整理整个流程

暂定的主题

  1. goroutine调度实现
  2. 数据结构的实现
  3. 内存分配实现
  4. gc的实现
Open Source Agenda is not affiliated with "Golang Runtime Reading" Project. README Source: zboya/golang_runtime_reading
Stars
518
Open Issues
4
Last Commit
3 years ago
License

Open Source Agenda Badge

Open Source Agenda Rating