单次定时器Timer
创建timer : = time.NewTimer(d duration)
- 该函数返回一个*Timer类型
- Timer类型如下:
type Timer struct {
C <-chan Time
r runtimeTimer
}
延迟定时的三种方法
sleep(duration)
timer := newTimer(duration)
然后<- timer.C
- 达到时间后timer.C会返回一个Time类型的变量
<-time.After(duration)
- 达到时间后会返回一个Time类型的变量
- 和select配合使用:
select {
case <- time.After(duration):
}
定时器的停止和重置
t1 := time.NewTimer()
t1.stop()
t1.reset(duration)
周期性定时器Ticker
Ticker结构:
type Ticker struct {
C <-chan Time // The channel on which the ticks are delivered.
r runtimeTimer
}
- Ticker是周期性定时,一次设定,系统循环将系统时间写入其成员变量C中
- ticker只有stop()方法,没有reset()方法