Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


Go 定时任务

Go 大约 645 字

周期性任务

5秒执行一次。

func main() {
    ticker := time.NewTicker(time.Second * 5)
    go func() {
        for {
            <-ticker.C
            fmt.Println("do something...")
        }
    }()
    time.Sleep(time.Hour)
}

定时任务

使用time.NewTimer函数,5秒后触发,只触发一次。

func main() {
    timer := time.NewTimer(time.Second * 5)
    go func() {
        <-timer.C
        // TODO  do something
        fmt.Println("do something NewTimer...")
    }()
    time.Sleep(time.Hour)
}

使用time.After函数,3秒后触发,只触发一次。

func main() {
    go func() {
        <-time.After(time.Second * 3)
        fmt.Println("do something After...")
    }()
    time.Sleep(time.Hour)
}
阅读 1523 · 发布于 2021-07-21

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批