Go select case 中为什么定时器执行频率降低?

2024-11-12 21:23:08 编辑:抖狐科技 来源:摘自互联网

go select case 中为什么定时器执行频率降低?

go select case 问题

在 go 编程中,select case 语句用于从多个通道接收数据。在讨论的问题中,作者使用 select case 从两个定时器中接收数据,但遇到了某个定时器执行频率较低的问题。

原因:

问题中给出的代码如下:

go func() {
    for {
        select {
        case <-ticker1.c:
            t := <-ticker1.c
            fmt.println("当前时间为=1=:", t)
        }
    }
}()

登录后复制

这个循环中,作者从 ticker1 中读取了两次数据:一次是 case

解决方案:

要解决此问题,可以使用以下代码:

go func() {
    for {
        select {
        case t := <-ticker1.C:
            fmt.Println("当前时间为=1=:", t)
        }
    }
}()

登录后复制

在这个修改后的循环中,我们只从 ticker1 中读取了一次数据(case t :=

以上就是Go select case 中为什么定时器执行频率降低?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢