package
main
import "time"
import "fmt"
/* 我们常常想在某一时刻或某一个区间执行go代码,go提供了timer和ticker特性使这两个任务变得容易。 */
func main() {
/* timers在未来代表一个单独的事件。你需要告诉timer你想等待多长时间,他将提供一个需要关注的通道,timeer需要等待2秒*/
timer1 := time.NewTimer(time.Second * 2)
//<-timer1.C将阻塞timer的通道C直到发送一个超时的信息
<-timer1.C
fmt.Println("timer 1 expired")
timer2 := time.NewTimer(time.Second)
go func() {
<-timer2.C
fmt.Println("timer 2 expired")
}()
//如果你刚想要等待,你可以用time.sleep.
stop2 := timer2.Stop()
if stop2 {
fmt.Println("timer 2 stopped")
}
}