/**
timer定时器
*/
package main
import (
"time"
"fmt"
)
func main1(){
//创建一个定时器,设置时间为2s,2s后,往time通道写内容(当前时间)
timer:=time.NewTimer(2*time.Second)
fmt.Println("当前时间:",time.Now())
//2s后,往timer.C写数据,有数据后,就可以读写
t:=<-timer.C
fmt.Println("c=",t)
}
//验证 time.NewTimer()时间到了,只会响应一次
func main(){
//创建一个定时器,设置时间为2s,2s后,往time通道写内容(当前时间)
timer:=time.NewTimer(2*time.Second)
fmt.Println("当前时间:",time.Now())
//2s后,往timer.C写数据,有数据后,就可以读写
for{
t:=<-timer.C
fmt.Println("c=",t)
}
/** 输出一次,死锁报错
F:\goWorkSpace\study\05协程>go run 18_time定时器.go
当前时间: 2020-04-07 23:02:36.6850771 +0800 CST m=+0.007978601
c= 2020-04-07 23:02:38.6852674 +0800 CST m=+2.008168901
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
F:/goWorkSpace/study/05协程/18_time定时器.go:36 +0x13c
exit status 2
F:\goWorkSpace\study\05协程>
*/
}
5.18 time定时器
猜你喜欢
转载自blog.csdn.net/h4241778/article/details/105476303
今日推荐
周排行