golang Timer和Ticker的使用
Timer是指定时间后执行
import (
"time"
)
func main() {
//创建一个定时器设置1秒后执行
timer := time.NewTimer(time.Second)
//阻塞线程一秒
<-timer.C
fmt.Println("timer1")
//直接阻塞线程2秒
<-time.After(2 * time.Second)
//重新设置为3秒钟
timer.Reset(3*time.Second)
//停止定时器
timer.Stop()
}
Ticker是按设置时间周期循环执行
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(time.Second)
i := 0
for {
<-ticker.C
i++
fmt.Println("i=", i)
if i == 5 {
ticker.Stop()
break
}
}
}

浙公网安备 33010602011771号