zoukankan      html  css  js  c++  java
  • 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)
        }
    }
    
  • 相关阅读:
    四则运算3.2
    第二周进度条
    构建之法阅读笔记02
    四则运算2
    第一周进度条
    构建之法阅读笔记01
    四则运算 Python
    第一周第二周学习进度条
    《构建之法》学习中疑问
    小学四则运算1.0
  • 原文地址:https://www.cnblogs.com/haima/p/14247711.html
Copyright © 2011-2022 走看看