golang 实现简单定时器

96
angeChen
2017.12.12 10:06* 字数 83

一般我们导入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
Web note ad 1