Golang的time.NewTicker周期性定时器使用案例

摘要:
计时器是一种定期触发计时的计时器。它以一定的时间间隔向信道发送当前系统时间。频道的接收器可以以固定的时间间隔从频道读取事件。

 Ticker是一个周期触发定时的计时器,它会按照一个时间间隔往channel发送系统当前时间,而channel的接收者可以以固定的时间间隔从channel中读取事件。

一.通过NewTicker函数定义定时器

复制代码
package main

import (
    "fmt"
    "time"
)

func main() {

    //创建一个周期性的定时器
    ticker := time.NewTicker(3 * time.Second)
    fmt.Println("当前时间为:", time.Now())

    go func() {
        for {

            //从定时器中获取数据
            t := <-ticker.C
            fmt.Println("当前时间为:", t)

        }
    }()

    for {
        time.Sleep(time.Second * 1)
    }
}
复制代码

二.停止定时器

复制代码
package main

import (
    "fmt"
    "runtime"
    "time"
)

func main() {

    //创建一个周期性的定时器
    ticker := time.NewTicker(3 * time.Second)

    //定义计数器
    count := 1
    fmt.Println("当前时间为:", time.Now(), "count = ", count)

    go func() {
        for {
            //从定时器中获取数据
            t := <-ticker.C
            count++
            fmt.Println("当前时间为:", t, "count = ", count)
            if count == 10 {
                /**
                如果周期性定时被消费10次后就停止该定时器
                */
                ticker.Stop()
                runtime.Goexit()
            }
        }
    }()

    for {
        time.Sleep(time.Second * 1)
    }
}
复制代码

Golang的time.NewTicker周期性定时器使用案例第5张

免责声明:文章转载自《Golang的time.NewTicker周期性定时器使用案例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何收集VPLEX的日志(转)HTML 转 PDF 之 wkhtmltopdf 工具精讲下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

定时器QTimer

1 importsys 2 from PyQt5.QtCore importQTimer, Qt 3 from PyQt5.QtWidgets importQApplication, QWidget, QPushButton, QLabel, QVBoxLayout 4 5 classDemo(QWidget): 6 def __ini...

STM32 Timer (2) 定时器中断代码框架

3. 代码框架3.1 分频系数的计算 x1/x2 /N(预分频) APB1时钟------->F(CK_PSC)--------------->CK_CNT 如果APB1的分频系数为1, CK_INT的倍频系数就是x1 如果APB1的分频系数不为1, CK_INT的倍频系数就是x2 STM32F1(MHz...

延时器 清除延时器

 // 定时器,延时器         // 定时器 : 根据时间间隔,循环往复执行程序,除非停止会一直执行程序 --有间隔的循环         // 延时器 : 根据时间间隔,延迟执行程序的时间,只会执行一次         --定时炸弹         // 语法: 时间单位 : 毫秒         // setTimeout(function(...

golang包快速生成base64验证码

base64Captcha快速生成base64编码图片验证码字符串 支持多种样式,算术,数字,字母,混合模式,语音模式. Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64编码可用于在HTTP环境下传递较长的标识信息, 直接把base64当成是字符串方式的数据就好了 减少了http请求;数据就是图片; 为APIs微服务而设计...

C/C++调用Golang 一

C/C++调用Golang 一 (开发环境: 操作系统: windows 7 32位操作系统 C++: visual studio 2010 Golang:go version go1.9 windows/386 TDM-GCC-32) 用一个简单的例子演示如何在C++中调用golang程序。用golang编写一个简单的函数,编译成动态链接...

STM32定时器应用——PWM

STM32的定时器有三种,高级定时器(TIM1和TIM8),通用定时器(TIM2、TIM3、TIM4、TIM5)和基本定时器(TIM6和TIM7)。 这三者的区别是: 基本定时器:基本定时器功能比较简单,主要是计时,也可以为DAC提供时钟,直接触发驱动DAC 通用定时器:通用定时器除了基本的定时功能外,还可以测量输入信号的脉冲长度,也就是输入捕获功能,...