分享
  1. 首页
  2. 文章

golang的Timer定时器

ck_god · · 8732 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

// 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")
}

有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:ck_god

查看原文:golang的Timer定时器

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
8732 次点击
上一篇:Golang中time包
下一篇:05-GoLang常量
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏