复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package main import ( "time" "fmt" ) func main() { timer := time.NewTimer(3 * time.Second) go func() { <-timer.C fmt.Println("子协程可以打印了,因为定时器的时间到") }() timer.Stop() for true { } }
这段代码执行后不会打印任何东西,因为主协程和子协程的执行几乎是同时的,那么它的打印自然不会被执行。
还有一个重置的例子
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13package 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]定时器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复