go select case 问题?-灵析社区

代码日记

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 间隔更久 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/eb9101397247a55b127ad0e947ffd350.png) 因为最近在弄一个线上项目 这个周期本来是设定10s的最后变成了 一分多钟才执行一次 好奇是什么问题导致的?

阅读量:21

点赞量:0

问AI
看数据的中二丸子头
1 读了两次,是两个周期。 可以直接写 "case t := <-ticker1.C"