我是靠谱客的博主 欣慰黑米,这篇文章主要介绍[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]定时器内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部