// code_047_Timer project main.go
package main
import (
"fmt"
"time"
)
func main() {
timer1 := time.NewTimer(time.Second * 2)
t1 := time.Now()
fmt.Printf("t1:%v\n", t1)
t2 := <-timer1.C
fmt.Printf("t2:%v\n", t2)
//如果只是想单纯的等待的话,可以使用 time.Sleep 来实现
timer2 := time.NewTimer(time.Second * 2)
<-timer2.C
fmt.Println("2s后")
time.Sleep(time.Second * 2)
fmt.Println("再一次2s后")
<-time.After(time.Second * 2) //time.After函数的返回值是chan Time
fmt.Println("再再一次2s后")
timer3 := time.NewTimer(time.Second)
go func() {
<-timer3.C
fmt.Println("Timer 3 expired")
}()
stop := timer3.Stop() //停止定时器
////阻止timer事件发生,当该函数执行后,timer计时器停止,相应的事件不再执行
if stop {
fmt.Println("Timer 3 stopped")
}
fmt.Println("before")
timer4 := time.NewTimer(time.Second * 5) //原来设置5s
timer4.Reset(time.Second * 1) //重新设置时间,即修改NewTimer的时间
<-timer4.C
fmt.Println("after")
}
golang的Timer定时器
原创
©著作权归作者所有:来自51CTO博客作者ck_god的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Golang中time包
下一篇:golang中Ticker的使用
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Timer定时器的使用
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。 一
java java代码 定时调度 -
线程:Timer定时器
线程:Timer定时器
线程 Timer 定时器