定時器Timer和週期性定時器Ticker

單次定時器Timer

創建timer : = time.NewTimer(d duration)

  • 該函數返回一個*Timer類型
  • Timer類型如下:
type Timer struct {
	C <-chan Time
	r runtimeTimer
}

延遲定時的三種方法

  1. sleep(duration)
  2. timer := newTimer(duration) 然後<- timer.C
  • 達到時間後timer.C會返回一個Time類型的變量
  1. <-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()方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章