前言
本节,我们重点关注系统协程是如何管理这些定器的,包括以下问题:
定时器使用什么数据结构存储?定时器如何触发事件?定时器如何添加进系统协程?定时器如何从系统协程中删除?
定时器存储
timer数据结构
Timer和Ticker数据结构除名字外完全一样,二者都含有一个runtimeTimer类型的成员,这个就是系统协程所维护的对象。runtimeTimer类型是time包的名称,在runtime包中,这个类型叫做timer。
timer数据结构如下所示:
ty...
Go 定时器 原理 剖析阅读全文