1. 说明
- 用于定时器事件的内部类,用户看不到这个类
- 这个文件有一个Timer类,使用原子操作Atomic.h和时间戳类Timerstamp.h
- noncopyable
- 这个类只是定时器的抽象,并没有调用定时器函数
2. 变量
- callback_
- TimerCallback类型,回调函数,具体看Callback.h
- expiration_
- 时间戳对象,超时时刻
- interval_
- 时间间隔
- repeat_
- 是否重复
- sequence_
- 记录当前定时器是第几个
- s_numCreated_
- 原子操作对象,AtomicInt64类型,静态的,看创建了多少个Timer对象,在构造函数中+1
3. 函数
- 构造
- 变量的初始化
- run()
- 调用callback_
- expiration()
- 返回expiration_
- repeat()
- 返回repeat_,bool类型,看是否重复
- sequence()
- 返回sequence_
- restart(Timestamp now)
- Timer.cc中只有这一个函数的实现和静态s_numCreated_的初始化
- 如果是重复的,调用Timestamp的inline函数addTime,作用是在now上加上interval_(间隔时间)的时间重新赋值超时时刻,否则就返回时间为0的Timestamp,一个非法时间,没有超时计时了
- numCreated()
- 返回s_numCreated_,看当前有多少对象创建