golang的Timer定时器

// code_047_Timer project main.go
package main

import (
    "fmt"
    "time"
)

func main() {
    timer1 := time.NewTimer(time.Second * 2)
    t1 := time.Now()
    fmt.Printf("t1:%v\n", t1)

    t2 := <-timer1.C
    fmt.Printf("t2:%v\n", t2)

    //如果只是想单纯的等待的话,可以使用 time.Sleep 来实现
    timer2 := time.NewTimer(time.Second * 2)
    <-timer2.C
    fmt.Println("2s后")

    time.Sleep(time.Second * 2)
    fmt.Println("再一次2s后")

    <-time.After(time.Second * 2) //time.After函数的返回值是chan Time
    fmt.Println("再再一次2s后")

    timer3 := time.NewTimer(time.Second)
    go func() {
        <-timer3.C
        fmt.Println("Timer 3 expired")
    }()

    stop := timer3.Stop() //停止定时器
    ////阻止timer事件发生,当该函数执行后,timer计时器停止,相应的事件不再执行
    if stop {
        fmt.Println("Timer 3 stopped")
    }

    fmt.Println("before")
    timer4 := time.NewTimer(time.Second * 5) //原来设置5s
    timer4.Reset(time.Second * 1)            //重新设置时间,即修改NewTimer的时间
    <-timer4.C
    fmt.Println("after")
}

当前文章:golang的Timer定时器
新闻来源:http://hxwzsj.com/article/gsddic.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站设计 响应式网站设计方案 成都网站建设流程 达州网站设计 自适应网站设计 成都网站设计 手机网站建设套餐 成都品牌网站设计 网站制作 泸州网站建设 app网站建设 成都定制网站建设 成都网站设计 网站建设 网站制作公司 营销型网站建设 成都网站建设 成都网站建设公司 成都网站制作 定制级高端网站建设 成都网站制作 成都网站设计