單次定時器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()方法