【发布时间】:2017-11-01 13:11:38
【问题描述】:
我有一个循环休眠了一段时间。但是,在我的代码的其他地方,我可能需要提前结束睡眠时间,以便可以更快地执行后续逻辑。
for {
timer = time.NewTimer(30 * time.Second)
<-timer.C
// Do something
}
其他地方……
// Trigger timer
// timer.Trigger() ??
当然,timer.Stop() 会停止计时器,但它会导致程序挂起并且不会下降到// Do something。目前,我正在将计时器重置为非常小的持续时间,以便计时器基本上立即到期。
timer.Reset(time.Millisecond)
有没有更好的方法来做到这一点?
【问题讨论】: