golang的定时器NewTimer、NewTicker使用
package mainimport ("fmt""sync""time"
)/**
*ticker只要定义完成,从此刻开始计时,不需要任何其他的操作,每隔固定时间都会触发。
*timer定时器,是到固定时间后会执行一次
*如果timer定时器要每隔间隔的时间执行,实现ticker的效果,使用 func (t *Timer) Reset(d Duration) bool*/
func main() {var wg sync.WaitGroupwg.Add(2)//NewTimer 创建一个 Timer,它会在最少过去时间段 d 后到期,向其自身的 C 字段发送当时的时间timer1 := time.NewTimer(2 * time.Second)//NewTicker 返回一个新的 Ticker,该 Ticker 包含一个通道字段,并会每隔时间段 d 就向该通道发送当时的时间。它会调 //整时间间隔或者丢弃 tick 信息以适应反应慢的接收者。如果d <= 0会触发panic。关闭该 Ticker 可 //以释放相关资源。ticker1 := time.NewTicker(2 * time.Second)go func(t *time.Ticker) {defer wg.Done()for {<-t.Cfmt.Println("get ticker1", time.Now().Format("2006-01-02 15:04:05"))}}(ticker1)go func(t *time.Timer) {defer wg.Done()for {<-t.Cfmt.Println("get timer", time.Now().Format("2006-01-02 15:04:05"))//Reset 使 t 重新开始计时,(本方法返回后再)等待时间段 d 过去后到期。如果调用时t //还在等待中会返回真;如果 t已经到期或者被停止了会返回假。t.Reset(2 * time.Second)}}(timer1)wg.Wait()
}
转载于:https://www.cnblogs.com/nyist-xsk/p/11496143.html
golang的定时器NewTimer、NewTicker使用相关推荐
- 介绍 Golang Timer(定时器)
介绍 Golang Timer(定时器) 本文介绍Golang Timer(定时器),位于Golang 的time包.常用于衡量代码执行效率. 示例 假设一个业务方法需要衡量其执行效率,整个执行时间不 ...
- golang中定时器ticker
package mainimport ("fmt""time" )func main() {t := time.Now().Unix() //秒时间戳fmt.P ...
- GoLang定时器实现原理
简介 工作中经常有定时执行某些代码块的需求,如果是PHP代码,一般写个脚本,然后用Cron实现. Go里提供了两种定时器:Timer(到达指定时间触发且只触发一次)和 Ticker(间隔特定时间触发) ...
- golang小程序试验(二)
2019独角兽企业重金招聘Python工程师标准>>> 1. golang程序运行时间显示 package main import ("fmt""tim ...
- Let‘s Go Rust 系列之定时器 Ticker Timer
前言 在实际项目开发中,经常会有定时任务的功能开发需求,定时任务主要分为两种, 1,在固定的时刻执行某个任务,也就是 Timer 2,基于固定的时间间隔,周期的执行某个任务,也就是Ticker 很 ...
- Golang快速入门上手
Golang 1.介绍 简介 Go起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语言的开发速度和 C/C++ ...
- python定时器每月执行一次_python 定时器,实现每天凌晨3点执行的方法
python 定时器,实现每天凌晨3点执行的方法 如下所示: ''' Created on 2018-4-20 例子:每天凌晨3点执行func方法 ''' import datetime import ...
- OSAL之时间管理,软件定时器链表管理
读源码写作,尊重原创: 本博文根据蓝牙4.0, 协议族版本是1.3.2 本博文分两大块.一部分是时间管理,另一部分是软件定时器管理. OSAL的时钟实现在OSAL_CockBLE.c与OSAL_Clo ...
- golang实现的商城
小程序商城 后台由golang实现 技术栈 先睹为快 系统架构 项目结构 项目启动流程 功能特点举例 项目架构 websocket通知新订单 邮件通知用户 定时器自动取消订单 后台由golang实现 ...
最新文章
- 02、在层级未知情况下通过递归查找子物体
- SQL Server常用的系统存储过程应用实例
- ASP网站精品源码集合(免积分下载)
- 关于c语言的符号常量以下叙述中正确的是,关于C语言的符号常量,以下叙述中正确的是...
- 第58课 百钱买百鸡 《小学生C++趣味编程》
- bat中的“多线程”处理代码
- SQL SERVER数据类型与C#数据类型对照表
- 哪些计算机的应用需采用多媒体技术,计算机多媒体技术的应用现状与发展前景...
- - 动规讲解基础讲解一——01背包(模板)
- 关于ubuntu17.04之apt-get源失败 解决办法
- Linux文件查看与查找命令
- 利用栈实现对后缀表达式(逆波兰表达式)的求解(C代码实现)
- 图像处理-1 带色彩恢复的多尺度视网膜增强算法
- 「游戏引擎 浅入浅出」项目介绍
- 美丽小猪Java基础笔记02【小美女程序猿诞生日记 之 java学习笔记】
- 云上领跑 智慧贵州 中软国际与云上贵州深度合作助力政府数字化转型
- 大师如何炼成 罗杰斯“不从众”的成功之道
- 代码质量保证体系(下)
- c语言深度剖析百度云,《C语言深度剖析》笔记
- 物体检测中的小物体问题