全球热点!Go定时器的三种实现方式
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。
Sleep使用休眠,让当前Goroutine休眠一定的时间来实现定时的效果,缺点是程序执行速度不均匀,导致定时周期不均匀。
(相关资料图)
for{fmt.Println(time.Now())time.Sleep(time.Second*1)}Timer
Go语言的内置包,指定一个时间开始计时,时间到之后会向外发送通知,发送通知的方式就是使用<-chan Time返回内容。
第一种方式,直接在需要等待处使用,效果和Sleep一样,一使用就卡在那了内部就是使用了Timer。
fmt.Println(time.Now())<-time.After(1*time.Second)fmt.Println(time.Now())
也可以把他拆分开,在任意地方进行等待
timer:=time.NewTimer(1*time.Second)<-timer.Cfmt.Println(time.Now())
但是以上只是做到延迟一次性执行,我们来改造一下,把他变成定时器。
done:=make(chanstruct{})timer:=time.NewTimer(1*time.Second)gofunc(){for{select{case<-timer.C:fmt.Println(time.Now())timer.Reset(1*time.Second)case<-done:return}}}()<-time.After(5*time.Second+time.Millisecond*100)done<-struct{}{}定义子Goroutine的目的是为了防止形成死锁,让定时器最终能退出,在实际项目中可能需要一个永久运行的定时器,一般为了不影响项目主逻辑也会这样定义。如果你的项目就是定时任务,我建议也这么写,这样可以注册很多个定时器互不影响。done是为了判断执行是否结束,防止主Goroutine提前退出。这个示例只有两个case,实战中如果有加其他case需要给每个case内都做一次Reset,保证重置定时器。Ticker
相比上述使用延迟执行功能实现的定时器,Ticker本身就是一个定时器(内部封装了Timer),我们使用起来就非常简单。
ticker:=time.NewTicker(1*time.Second)gofunc(){for{<-ticker.Cfmt.Println(time.Now())}}()<-time.After(5*time.Second+time.Millisecond*100)ticker.Stop()
在select 一节中讲述的官方超时控制方案非常的实用,也是使用的此函数。还使用到timer.Stop和timer.Reset这两个内置函数这里就不展开讲解了,建议进行复习。
小结定时器一般用来周期性执行任务,比如定时同步数据、计算报表、发送通知。
time.Sleep使用休眠,让当前goroutine休眠一定的时间来实现定时的效果,缺点是内部逻辑执行的速度会影响到定时器的时间差,无法做到精确间隔。Timer类似于Sleep的延迟处理,通过channel来获得通知,也可以改造成定时器。因为是延迟处理,所以要记得重置时间来实现定时执行的效果。Ticker现成的定时器,内部也是封装了 Timer。标签:
-
2022-12-28 11:12:35
全球热点!Go定时器的三种实现方式<
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。Sleep使用休眠,让当前Goroutine休眠一定的时间来实现定时的效果,
-
2022-12-28 07:57:25
小金鱼A逾期2年拖欠多久上征信系统<
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-27 20:07:06
资讯推荐:12.28 上證指數、創業板指數 實戰技術分析<
12 28上證指數、創業板指數實戰技術分析+++++++++++++++++++上證指數:++++++++++++12 27市況:開盤,形成最低307
-
2022-12-27 16:19:46
环球观速讯丨2023年FRM考试费是多少?可以分期付款吗?<
2023年5月份frm考试费和11月份是一样的,包括400美元的注册费、40美元的场地费、10美元的数据管理费和考试费用(早鸟价600美元,标准价800美元
-
2022-12-27 11:30:55
电影《满江红》定档大年初一 沈腾易烊千玺双男主有哪些精彩看点?|环球观焦点<
12月27日,张艺谋新片《满江红》发布定档预告,官宣2023年大年初一上映。该片由沈腾和易烊千玺双男主领衔主演,其他主演包括张译、雷佳音、王
-
2022-12-28 11:12:35
全球热点!Go定时器的三种实现方式
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。Sleep使用休眠,让当前Goroutine休眠一定的时间来实现定时的效果,
-
2022-12-28 07:57:25
小金鱼A逾期2年拖欠多久上征信系统
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-27 20:07:06
资讯推荐:12.28 上證指數、創業板指數 實戰技術分析
12 28上證指數、創業板指數實戰技術分析+++++++++++++++++++上證指數:++++++++++++12 27市況:開盤,形成最低307
-
2022-12-27 16:19:46
环球观速讯丨2023年FRM考试费是多少?可以分期付款吗?
2023年5月份frm考试费和11月份是一样的,包括400美元的注册费、40美元的场地费、10美元的数据管理费和考试费用(早鸟价600美元,标准价800美元
-
2022-12-27 11:30:55
电影《满江红》定档大年初一 沈腾易烊千玺双男主有哪些精彩看点?|环球观焦点
12月27日,张艺谋新片《满江红》发布定档预告,官宣2023年大年初一上映。该片由沈腾和易烊千玺双男主领衔主演,其他主演包括张译、雷佳音、王
-
2022-12-27 06:23:44
热文:【手慢无】爆款小米显示器只要539元 IPS面板
很多职场用户,对于公司配的显示器非常不满意,尺寸小分辨率低,用着非常不好。今天我们给大家推荐的是一款爆款显示器,小米Redmi1A显示器。这
-
2022-12-26 17:47:07
全球速讯:2022中国城市竞争力报告:制度转型对中国城市高速发展有决定性作用
2022年12月26日,中国城市百人论坛冬季论坛暨青年论坛在线上召开,论坛以“中国式现代化与中国城市发展理论研讨”为主题,会上举行了《中国...
-
2022-12-26 12:34:53
财通证券子公司增资至50亿
财通证券子公司增资至50亿
-
2022-12-26 07:24:23
南方上证科创板新材料ETF净值下跌1.45% 请保持关注
南方上证科创板新材料ETF净值下跌1 45%请保持关注
-
2022-12-25 14:26:32
全球聚焦:闪银网贷逾期了5千会上征信系统吗
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-24 15:52:39
【世界报资讯】滕哈格确认:拉什福德等4人已与曼联续约1年
滕哈格确认:拉什福德等4人已与曼联续约1年
-
2022-12-23 22:19:10
陆庆娱乐(08052.HK)发布公告,就有关收购C45 Holdings Limited全部已发行股本的相关事宜
陆庆娱乐(08052 HK)发布公告,就有关收购C45HoldingsLimited全部已发行股本的相关事宜。于本公告发出同日,该公司决定不进行收购事项,原
-
2022-12-23 16:06:21
【全球热闻】天下秀: 天下秀数字科技(集团)股份有限公司第十届监事会第十九次会议决议公告
天下秀:天下秀数字科技(集团)股份有限公司第十届监事会第十九次会议决议公告
-
2022-12-23 10:17:12
实时焦点:外媒:日本11月消费者物价指数涨3.7%,创近41年新高
综合外媒报道,日本11月消费者物价指数同比上涨3 7%,创近41年来新高。据日本经济新闻报道,日本总务省23日发表的11月消费者物价指数(CPI,202
-
2022-12-22 23:18:43
特变电工:控股公司预计今年逆变器等产品收入较上年同期将有较大增长_每日看点
在2022年四季度集中交付逆变器订单较多,预计今年逆变器等产品收入较上年同期将有较大的增长
-
2022-12-22 15:52:51
万顺新材(300057.SZ)拟斥500万元投设安徽美信 主营铝板带业务
智通财经APP讯,万顺新材公告,公司全资孙公司安徽中基电池箔科技有限公司(“安徽中基”)拟使用自有资金500万元投资设立全资子公司安徽美信...
-
2022-12-22 10:35:03
马斯克终于回应网友投票:将辞去推特CEO 前提是……_每日时讯
中新网12月21日电据美国有线电视新闻网(CNN)报道,当地时间20日晚,推特老板马斯克在推特发文称,自己将辞去推特CEO一职,但前提是找到“傻到
-
2022-12-21 20:45:07
全球快看点丨超图联合统信软件、人大金仓,牢筑自主可控的数字底座
随着地理信息应用逐渐多元化,地理信息在服务我国经济、国防、社会发展和生态文明建设中发挥了不可替代的作用。自主创新的GIS与操作系统、数据
-
2022-12-21 14:49:45
量能萎缩,资金无心恋战_世界头条
量能萎缩,资金无心恋战声明:本文归玉名所有,如转载,请注明文章出处和相关链接。股民想要参与解套课堂和金股课堂,可加。玉名没有任何的Q群
-
2022-12-21 08:58:17
发布变更又快又稳?腾讯运维工程师经验首发
导读|如何让功能缺陷修复快速上线?版本发出问题时怎样快速回退?效率提升后质量掉队?为解决这些常让运维工程师头疼的事情,本栏目特邀腾讯知
-
2022-12-20 19:42:12
环球今日报丨基辅与SpaceX达成协议将接收大批“星链”天线
乌克兰数字化转型部部长费多罗夫表示,基辅已与埃隆·马斯克领导的美国太空探索技术公司(SpaceX)达成协议,将再接收上万根提供卫星网络服务
-
2022-12-20 12:34:42
央视新谍战剧《欲晓东方》来袭,看清女主人选,网友:弃了|观点
谍战剧作为国产剧中的收视保障,不仅深受大众追捧,而且还是高评分国产剧中的常客,凭借其惊险刺激、辗转反侧、斗智斗勇的故事情节牢牢抓住了
-
2022-12-20 06:56:37
分期乐贷款逾期第二个月会影响征信吗
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-19 18:13:59
华秦科技: 独立董事关于第一届董事会第二十三次会议相关事项的独立意见_环球新消息
陕西华秦科技实业股份有限公司独立董事 关于第一届董事会第二十三次会议相关事项的独立意见 根据《中华人民共和国公司法》、
-
2022-12-19 13:25:50
Polkadot 能否达到与 L2 解决方案相当的出块时间?| W3F 12 月 AMA 世界最新
加入PolkaWorld社区,共建Web3 0!Web3基金会技术教育和Grant负责人Bill在Reddit上举办了2022年最后一
-
2022-12-19 07:18:37
环球热推荐:A股申购 | 华光源海(872351.BJ)开启申购 业务区域主要集中于长江中下游各主要港口
(原标题:A股申购|华光源海(872351 BJ)开启申购业务区域主要集中于长江中下游各主要港口)智通财经APP获悉,12月19日,华光源海(872351
-
2022-12-18 19:39:33
2022“冰雪之美 尽在新疆”冬季旅游宣传推广季启动|今日热闻
中新网乌鲁木齐12月18日电 (记者 闫文陆)2022“冰雪之美 尽在
-
2022-12-17 21:35:45
12月沪牌拍卖参拍人数为近两年最低 中标率升至13.2% 世界消息
全国乘用车市场信息联席会数据显示,今年1-11月中国常规燃油车市场零售1334万辆,同比下降14%。上海市经济信息中心数据显示,今年10月份,上海
-
2022-12-17 07:58:32
探测野生黄鳝仪器
但每次都只有蚯蚓被放进笼子里作为诱饵。早上,你可以收到鳗鱼。由于丁香的特殊气味,鳗鱼很容易进入笼子,但闻到鱼腥味时。蚯蚓或苍蝇,年轻
-
2022-12-16 19:16:39
中国医药:进口和分销辉瑞药物预计对公司经营业绩无重大影响
新京报贝壳财经讯中国医药表示,2022年12月14日,公司与辉瑞公司签订协议。公司将在协议期内负责辉瑞公司新冠病毒治疗药物奈玛特韦片 利托那韦