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)
        }
    }
    
  • 相关阅读:
    swift -- 静态变量static
    swift -- 单例+ lazy懒加载 + 第三方库
    swift -- 代理delegate
    swift -- 闭包
    swift -- 构造/析构函数
    swift -- 继承
    swift -- as / 扩展
    swift -- 类中的方法
    swift -- 类和结构体
    C 扩展库
  • 原文地址:https://www.cnblogs.com/haima/p/14247711.html
Copyright © 2011-2022 走看看