func main() {
var wg sync.WaitGroup
wg.Add(2)
//NewTicker 创建一个Ticker,Ticker内包含一个通道字段,每隔2s向该通道发送当时的时间。
ticker := time.NewTicker(2 * time.Second)
go func(t *time.Ticker) {
defer wg.Done()
for {
<-t.C
fmt.Println("get ticker", time.Now().Format("2006-01-02 15:04:05"))
}
}(ticker)
//NewTimer 创建一个Timer,它会在过去时间段2s后到期,向其自身的C通道发送当时时间
timer := time.NewTimer(2 * time.Second)
go func(t *time.Timer) {
defer wg.Done()
for {
<-t.C
fmt.Println("get timer", time.Now().Format("2006-01-02 15:04:05"))
//timer必须reset才能重新计时
t.Reset(2 * time.Second)
}
}(timer)
wg.Wait()
}
定时器 Timer 和 Ticker
最新推荐文章于 2023-06-11 15:58:17 发布