主题
定时器与 Ticker
1. Timer(定时器)
用于在指定时间后执行操作:
go
timer := time.NewTimer(2 * time.Second)
<-timer.C
fmt.Println("Timer expired")
可以使用 Reset
重置定时器:
go
timer.Reset(3 * time.Second)
2. Ticker(周期定时器)
用于周期性触发事件:
go
ticker := time.NewTicker(1 * time.Second)
go func() {
for t := range ticker.C {
fmt.Println("Tick at", t)
}
}()
time.Sleep(5 * time.Second)
ticker.Stop()
3. 应用场景
- Timer:执行一次性延时任务
- Ticker:实现周期任务,如心跳、定时检查
定时器和 Ticker 是实现时间控制的重要工具。