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
		}
	}
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM