26.muduo学习笔记之net_Timer.{h&cc}

1. 说明

  1. 用于定时器事件的内部类,用户看不到这个类
  2. 这个文件有一个Timer类,使用原子操作Atomic.h和时间戳类Timerstamp.h
  3. noncopyable
  4. 这个类只是定时器的抽象,并没有调用定时器函数

2. 变量

  1. callback_
    • TimerCallback类型,回调函数,具体看Callback.h
  2. expiration_
    • 时间戳对象,超时时刻
  3. interval_
    • 时间间隔
  4. repeat_
    • 是否重复
  5. sequence_
    • 记录当前定时器是第几个
  6. s_numCreated_
    • 原子操作对象,AtomicInt64类型,静态的,看创建了多少个Timer对象,在构造函数中+1

3. 函数

  1. 构造
    • 变量的初始化
  2. run()
    • 调用callback_
  3. expiration()
    • 返回expiration_
  4. repeat()
    • 返回repeat_,bool类型,看是否重复
  5. sequence()
    • 返回sequence_
  6. restart(Timestamp now)
    • Timer.cc中只有这一个函数的实现和静态s_numCreated_的初始化
    • 如果是重复的,调用Timestamp的inline函数addTime,作用是在now上加上interval_(间隔时间)的时间重新赋值超时时刻,否则就返回时间为0的Timestamp,一个非法时间,没有超时计时了
  7. numCreated()
    • 返回s_numCreated_,看当前有多少对象创建
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值