【Go 夜读】第 74 期 time.Timer 源码分析 (Go 1.14)

yangwen13 · · 837 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

>文章来自于:https://reading.developerlearning.cn/reading/74-2020-01-02-time-in-go-1-14/ 分享者:欧长坤 ## 观看视频 https://youtu.be/XJx0eTP-y9I ## 【Go 夜读】#74 time.Timer 源码分析 (Go 1.14) time 是一个很有意思的包,除去需要获取当前时间的 Now 这一平淡无奇、直接对系统调用进行封装( `runtime.nanotime` )的函数外,其中最有意思的莫过于它所提供的 Timer 和 Ticker 了。他们的实现,驱动了诸如 `time.After`, `time.AfterFunc`, `time.Tick`, `time.Sleep` 等方法。 即将发布的 Go 1.14 将为 Timer 及其相关依赖带来大幅性能,本次分享我们就来详细分析以下 Go 1.14 中 `time.Timer` 的源码及其演进过程。 ## 大纲 - 调度器与调度循环 - Timer 状态机 - Timer 的启动、终止与重置 - Timer 的触发时机 - Go 1.10 以前以及 Go 1.10 的 Timer 实现 ## 分享时间 2020-01-02 21:00 UTC+8 ## 分享地址 https://zoom.us/j/6923842137 ## Slides [Google Slides](https://docs.google.com/presentation/d/1c2mRWA-FiihgpbGsE4uducou7X5d4WoiiLVab-ewsT8/edit?usp=sharing) ## 参考资料 - [runtime: improve timers scalability on multi-CPU systems](https://github.com/golang/go/commit/76f4fd8a5251b4f63ea14a3c1e2fe2e78eb74f81) - [runtime: make timers faster](https://github.com/golang/go/commit/6becb033341602f2df9d7c55cc23e64b925bbee2) - [Go 夜读第 56 期:channel & select 源码分析](https://github.com/developer-learning/night-reading-go/issues/450) - [Go 语言原本: 计时器](https://changkun.de/golang/zh-cn/part2runtime/ch06sched/timer/) - [timer-based task scheduler](https://github.com/changkun/sched) ---

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

837 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传