Open chenyahui opened 4 years ago
https://www.cyhone.com/articles/analysis-of-golang-timer/
本文将基于 Golang 源码对 Timer 的底层实现进行深度剖析。主要包含以下内容: Timer 和 Ticker 在 Golang 中的底层实现细节,包括数据结构等选型。 分析 time.Sleep 的实现细节,Golang 如何实现 Goroutine 的休眠。 注:本文基于 go-1.13 源码进行分析,而在 go 的 1.14 版本中,关于定时器的实现略有一些改变,以后会再专门写一
讲的不错,赞一个
1.13是会起一个timeproc 协程,1.14则不会么?
@whoisix 1.13是会起一个timeproc 协程,1.14则不会么?
没有对1.14之后的timer做具体研究,大致看了下,似乎是由每个P来调度timer了。这样的话,应该就不存在timeproc 这个goroutine了。不过这里不太确定,还需要细致研究下
https://www.cyhone.com/articles/analysis-of-golang-timer/
本文将基于 Golang 源码对 Timer 的底层实现进行深度剖析。主要包含以下内容: Timer 和 Ticker 在 Golang 中的底层实现细节,包括数据结构等选型。 分析 time.Sleep 的实现细节,Golang 如何实现 Goroutine 的休眠。 注:本文基于 go-1.13 源码进行分析,而在 go 的 1.14 版本中,关于定时器的实现略有一些改变,以后会再专门写一