go实现定时功能两种方法

1:timer

学习自:https://studygolang.com/articles/2479

timer1 := time.NewTimer(time.Second * 2)

//此处在等待channel中的信号,执行此段代码时会阻塞两秒

<-timer1.C

 

timer1 := time.NewTimer(time.Second * 2)

//此处在等待channel中的信号,执行此段代码时会阻塞两秒

<-timer1.C


ticker := time.NewTimer(time.Second)
for_ =range ticker.C{

}

或者

for {
    select {
    case <-timer.C:
    func()
    }
}

timer中:

type Ticker struct {
	C <-chan Time // The channel on which the ticks are delivered.
	r runtimeTimer
}
C只能读不能写
https://studygolang.com/articles/4565

2:"github.com/robfig/cron"中的cron

package main

import (
"github.com/robfig/cron"
"log"
)

func main() {
i := 0
c := cron.New()
spec := "*/5 * * * * ?"
c.AddFunc(spec, func() {
i++
log.Println("cron running:", i)
})
c.AddFunc("@every 1h1m", func() {
i++
log.Println("cron running:", i)
})
c.Start()
}

转载于:https://www.cnblogs.com/newcoder/p/7906859.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值