golang中三種定時器的實現方式及周期定時


一、定時器的創建

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM