ticker1 := time.NewTicker(3 * time.Second)
ticker2 := time.NewTicker(3 * time.Second)
fmt.Println("当前时间为:", time.Now())
go func() {
for {
select {
case <-ticker1.C:
t := <-ticker1.C
fmt.Println("当前时间为=1=:", t)
}
}
}()
go func() {
for {
//从定时器中获取数据
t := <-ticker2.C
fmt.Println("当前时间为=2=:", t)
}
}()
如代码所示
目的都是像间隔3s执行一次
但是实际执行的时候 1 执行一次要比 2 间隔更久
因为最近在弄一个线上项目 这个周期本来是设定10s的最后变成了 一分多钟才执行一次
好奇是什么问题导致的?
1 读了两次,是两个周期。
可以直接写
case t := <-ticker1.C