美文网首页
golang中三种定时器的实现方式及周期定时

golang中三种定时器的实现方式及周期定时

作者: 七八个星天 | 来源:发表于2019-07-23 15:14 被阅读0次

    一、定时器的创建

    golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer
    其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        /*
            用sleep实现定时器
        */
        fmt.Println(time.Now())
        time.Sleep(time.Second)
        fmt.Println(time.Now())
        /*
            用timer实现定时器
        */
        timer := time.NewTimer(time.Second)
        fmt.Println(<-timer.C)
        /*
            用after实现定时器
        */
        fmt.Println(<-time.After(time.Second))
    
    }
    
    

    二、定时器的重置与停止

    重置定时器timer.Reset(d Duration)
    停止定时器timer.Stop()

    三、周期定时的实现Tiker

    golang中使用Tiker可以实现周期定时的效果

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        tiker := time.NewTicker(time.Second)
        for i := 0; i < 3; i++ {
            fmt.Println(<-tiker.C)
        }
    }
    
    

    相关文章

      网友评论

          本文标题:golang中三种定时器的实现方式及周期定时

          本文链接:https://www.haomeiwen.com/subject/ddtalctx.html