golang 实现简单定时器

作者: angeChen | 来源:发表于2017-12-12 10:06 被阅读116次

    一般我们导入import ("time")包,然后调用time.NewTicker(1 * time.Second) 实现一个定时器:

    func timer( ) {
    
      //新建计时器,120秒以后触发,go触发计时器的方法比较特别,就是在计时器的channel中发送值
      tick :=time.NewTicker( 120 * time.Second)
    
      for {
        select {
          //此处在等待channel中的信号,因此执行此段代码时会阻塞120秒
          case <-tick:
            xxx() //执行我们想要的操作
        }
      }
    }
    

    注意点:

    • golang 的 select 就是监听 IO 操作
    • case 里面应该是一个面向channel的IO操作,然后触发相应的动作。
    • for循环(无限循环),即每隔120S执行一次

    相关文章

      网友评论

        本文标题:golang 实现简单定时器

        本文链接:https://www.haomeiwen.com/subject/xvegixtx.html