【发布时间】:2016-06-22 08:34:36
【问题描述】:
func Tick() {
fmt.Println("startTime", time.Now().Format("2006-01-02 15:04:05"))
t := time.NewTicker(time.Second * 3)
time.Sleep(time.Second * 12)
for {
stamp := <-t.C
fmt.Println("tickTime", stamp.Format("2006-01-02 15:04:05"))
}
}
sn-p 上面的输出是:
开始时间 2016-06-22 16:22:20
tickTime 2016-06-22 16:22:23
tickTime 2016-06-22 16:22:35
tickTime 2016-06-22 16:22:38
tickTime 2016-06-22 16:22:41
tickTime 2016-06-22 16:22:44
当我延迟代码时,为什么会在没有时间戳 16:22:26、16:22:29 的情况下发生这种情况?
【问题讨论】:
-
你在哪里运行这个?这对我来说似乎很好用:play.golang.org/p/3uVTJq9AfN
-
@DuruCanCelasun 您只等待 1 秒,这比代码持续时间短。等待 > 滴答持续时间是这里的问题。