我是靠谱客的博主 欣慰黑米,最近开发中收集的这篇文章主要介绍[GO]定时器的停止和重置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package main

import (
    "time"
    "fmt"
)

func main() {
    timer := time.NewTimer(3 * time.Second)
    go func() {
        <-timer.C
        fmt.Println("子协程可以打印了,因为定时器的时间到")
    }()

    timer.Stop()
    for true {

    }
}

这段代码执行后不会打印任何东西,因为主协程和子协程的执行几乎是同时的,那么它的打印自然不会被执行。

还有一个重置的例子

package main

import (
    "time"
    "fmt"
)

func main() {
    timer := time.NewTimer(3*time.Second)
    timer.Reset(time.Second)//重置新设置为1s,上面的时间推迟失效
    <-timer.C
    fmt.Println("时间到")
}

 

转载于:https://www.cnblogs.com/baylorqu/p/9675890.html

最后

以上就是欣慰黑米为你收集整理的[GO]定时器的停止和重置的全部内容,希望文章能够帮你解决[GO]定时器的停止和重置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部