golang Timer和Ticker的使用

Timer是指定时间后执行

import (
	"time"
)
func main() {
	//创建一个定时器设置1秒后执行
	timer := time.NewTimer(time.Second)
       //阻塞线程一秒
        <-timer.C
       fmt.Println("timer1")
        //直接阻塞线程2秒
	<-time.After(2 * time.Second)
       //重新设置为3秒钟
       timer.Reset(3*time.Second)
       //停止定时器
       timer.Stop() 
}

Ticker是按设置时间周期循环执行

import (
	"fmt"
	"time"
)

func main() {
	ticker := time.NewTicker(time.Second)
	i := 0
	for {
		<-ticker.C
		i++
		fmt.Println("i=", i)

		if i == 5 {
			ticker.Stop()
			break
		}
	}
}

  

posted @ 2018-12-11 23:21  不骄不傲  阅读(2537)  评论(0编辑  收藏  举报