标签:二十二 02 定时器 22 03 timer Timer time go
1. Timer的使用
//验证time.NowTimer() 只响应一次
func main() {
//创建一个定时器,设置时间为2s,2s后,往tim通道写数据
timer := time.NewTimer(2 * time.Second)
fmt.Println(time.Now())
//2s后,往timer.C写数据,有数据后,就可读取
t := <- timer.C
fmt.Println("t = ", t)
fmt.Println(time.Now())
}
输出
2021-03-04 22:02:15.87997206 +0800 CST m=+0.000451296
t = 2021-03-04 22:02:17.880901904 +0800 CST m=+2.001321116
2021-03-04 22:02:17.8810083 +0800 CST m=+2.001427508
2. Timer实现延时功能
func main() {
//方法1
timer := time.NewTimer(2 * time.Second)
<- timer.C
fmt.Println("延时2s")
//方法2
time.Sleep(2 * time.Second)
fmt.Println("延时2s")
//方法3
time :=time.After(2 * time.Second)
<- time
fmt.Println("延时2s")
}
3. time定时器停止功能
timer.Stop() //停止定时器
4.time定时器重置
timer.Reset(1 * time.Second)//重新设置为1s
标签:二十二,02,定时器,22,03,timer,Timer,time,go 来源: https://blog.csdn.net/xiangjai/article/details/114379241
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。