zoukankan      html  css  js  c++  java
  • golang学习笔记——定时器

    Timer定时器
    • 启动
    package main
     
    import (
        "fmt"
        "time"
    )
     
    func main() {
        <-time.After(2 * time.Second)
        fmt.Println("延时两秒")
    }
     
    func main02() {
        time.Sleep(2 * time.Second)
        fmt.Println("延时两秒")
    }
     
    func main01() {
        //timer 只能执行一次
        timer := time.NewTimer(2 * time.Second)
        <-timer.C
        fmt.Println("延时两秒")
    }
    • 停止
    package main
     
    import (
        "fmt"
        "time"
    )
     
    func main() {
        timer := time.NewTimer(3 * time.Second)
     
        go func() {
             <-timer.C
             fmt.Println("三秒后执行")
        }()
     
        //停止定时器
        timer.Stop()
     
        for {
     
        }
     
    }
    • 重置
    package main
     
     
    import (
        "fmt"
        "time"
    )
     
    func main() {
        timer := time.NewTimer(3 * time.Second)
     
        //重置为1秒钟
        timer.Reset(time.Second)
     
        go func() {
             <-timer.C
             fmt.Println("定时执行")
        }()
     
        for {
     
        }
     
    }
     
    Ticker定时器(循环执行)
    package main
     
    import (
        "fmt"
        "time"
    )
     
    func main() {
        ticker := time.NewTicker(time.Second)
        i := 0
        for {
             i++
             <-ticker.C
             fmt.Println(i)
             if i == 5 {
                     ticker.Stop()
                     break
             }
        }
    }
     
     
  • 相关阅读:
    tar.xz文件如何解压
    warnings and errors when executing : make -j4
    ubuntu关机
    Linux系统kernel编译替换升级
    安装linux内核
    二叉树的度数和节点数的关系
    刷题--将搜索二叉树转换成双向链表
    刷题--二叉搜索树与双向链表
    刷题--删除链表中重复的节点
    四舍五入输出
  • 原文地址:https://www.cnblogs.com/itsuibi/p/14476962.html
Copyright © 2011-2022 走看看