Golang周期任务、定时任务
分类:彩世界开奖app苹果下载-编程

5秒钟后执行一个任务ticker.C是一个缓冲为1的channel,

ticker:=time.NewTicker(time.Second*5) go func() { for _=range ticker.C { println } }()time.Sleep(time.Minute)

//主线程阻塞timer1:=time.NewTimer(time.Second*5)<-timer1.Cprintln

//主线程不阻塞 timer2 := time.NewTimer(time.Second) go func() { //等触发时的信号 <-timer2.C fmt.Println("Timer 2 expired") }() //由于上面的等待信号是在新线程中,所以代码会继续往下执行,停掉计时器 time.Sleep(time.Second*5)

//golang 定时器,启动的时候执行一次,以后每天晚上12点执行func startTimer { go func() { for { f() now := time.Now() // 计算下一个零点 next := now.Add(time.Hour * 24) next = time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location t := time.NewTimer(next.Sub <-t.C } }() }

本文由彩世界开奖发布于彩世界开奖app苹果下载-编程,转载请注明出处:Golang周期任务、定时任务

上一篇:2个n位的整数x和y 下一篇:没有了
猜你喜欢
热门排行
精彩图文