一、定时器的创建

golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer

其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

package main

import (
"fmt"
"time"
) func main() {
/*
用sleep实现定时器
*/
fmt.Println(time.Now())
time.Sleep(time.Second)
fmt.Println(time.Now())
/*
用timer实现定时器
*/
timer := time.NewTimer(time.Second)
fmt.Println(<-timer.C)
/*
用after实现定时器
*/
fmt.Println(<-time.After(time.Second)) }

二、定时器的重置与停止

重置定时器 timer.Reset(d Duration)

停止定时器 timer.Stop()

三、周期定时的实现Tiker

golang中使用Tiker可以实现周期定时的效果

package main

import (
"fmt"
"time"
) func main() {
tiker := time.NewTicker(time.Second)
for i := 0; i < 3; i++ {
fmt.Println(<-tiker.C)
}
}

golang中三种定时器的实现方式及周期定时的更多相关文章

  1. C#中三种定时器对象的比较 【转】

    https://www.cnblogs.com/zxtceq/p/5667281.html C#中三种定时器对象的比较 ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.W ...

  2. Spring中三种配置Bean的方式

    Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...

  3. 【转】ZYNQ中三种实现GPIO的方式

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/husipeng86/article/det ...

  4. C#中三种定时器对象的比较

    ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers ...

  5. Go_18: Golang 中三种读取文件发放性能对比

    Golang 中读取文件大概有三种方法,分别为: 1. 通过原生态 io 包中的 read 方法进行读取 2. 通过 io/ioutil 包提供的 read 方法进行读取 3. 通过 bufio 包提 ...

  6. Golang 中三种读取文件发放性能对比

    Golang 中读取文件大概有三种方法,分别为: 1. 通过原生态 io 包中的 read 方法进行读取 2. 通过 io/ioutil 包提供的 read 方法进行读取 3. 通过 bufio 包提 ...

  7. smarty中三种变量的访问方式

    在模板中smarty有三种变量,第一种,php分配的变量,第二种配置文件里的变量,第三种,PHP全局数组里的变量,配置文件里变量的访问方式可以是{#bgcolor#},"#"必须紧 ...

  8. Selenium中三种等待的使用方式---规避网络延迟、代码不稳定问题

    在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错.这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待, ...

  9. Qt中三种解析xml的方式

    在下面的随笔中,我会根据xml的结构,给出Qt中解析这个xml的三种方式的代码.虽然,这个代码时通过调用Qt的函数实现的,但是,很多开源的C++解析xml的库,甚至很多其他语言解析xml的库,都和下面 ...

  10. Android Studio项目中三种依赖的添加方式

    通常一个AS项目中的依赖关系有三种,一是本地依赖(主要是对本地的jar包),二是模块依赖,三是远程依赖:添加这些依赖的目的在于上我们想要在项目的某一个模块中使用其中的功能,比如okttp这个网络框架库 ...

随机推荐

  1. KingbaseES V8R6数据库运维案例之---索引坏块故障处理

    案例说明: 在执行表数据查询时,出现下图所示错误,索引故障导致表无法访问,后重建索引问题解决.本案例复现了此类故障解决过程. 适用版本: KingbaseES V8R3/R6 一.创建测试环境 # 表 ...

  2. 不到2000字,轻松带你搞懂STM32中GPIO的8种工作模式

    大家好,我是知微! 学习过单片机的小伙伴对GPIO肯定不陌生,GPIO (general purpose input output)是通用输入输出端口的简称,通俗来讲就是单片机上的引脚. 在STM32 ...

  3. Delving into Sample Loss Curve to Embrace Noisy and Imbalanced Data

    这篇论文: 提出了prob-and-allocate训练策略,在prob阶段获得样本损失,在allocate阶段分配样本权重. 以[2]的meta-weight-net为Baseline,取名为Cur ...

  4. OpenHarmony社区运营报告(2023年7月)

     本月快讯 • 2023年7月28日-29日,全球软件质量&效能大会(简称"QECon")圆满举行,OpenAtom OpenHarmony(简称"OpenHar ...

  5. C++ 数学函数、头文件及布尔类型详解

    C++ 数学 C++ 有许多函数可以让您在数字上执行数学任务. 最大值和最小值 max(x, y) 函数可用于找到 x 和 y 的最大值: 示例 cout << max(5, 10); 而 ...

  6. Qt设置窗口显示到扩展屏

    #include <QDesktopWidget> void Dialog::setDisplayPos() { QDesktopWidget *desktop = QApplicatio ...

  7. JS启动Windows上的exe

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. mongodb基础整理篇————索引[四]

    前言 简单介绍一些索引. 正文 索引的术语: index 索引 key 键 DataPage 数据页 covered Query: ixscan/collscan: big O Natation: q ...

  9. 重新点亮linux 命令树————用户和用户组管理[六]

    前言 简单整理一下用户和用户组管理. 正文 主要是介绍下面的命令: useradd 新建用户 userdel 删除用户 passwd 修改用户面 usermod 修改用户属性 chage 修改用户属性 ...

  10. 用fpga实现1G Eth TCP&UDP硬件协议栈

    用fpga实现的1G 以太网硬件协议栈,属于轻的协议栈