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 } } }