外地小哥驰援、开启夜派模式,邮政快递业正在恢复
外地小哥驰援、开通药品专线、开启夜派模式,邮政快递业—— 充实运力,保障药品和民生物资配送 12月以来,全国邮政、快递企业日均揽收
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。
(相关资料图)
使用休眠,让当前Goroutine休眠一定的时间来实现定时的效果,缺点是程序执行速度不均匀,导致定时周期不均匀。
for{fmt.Println(time.Now())time.Sleep(time.Second*1)}TimerGo语言的内置包,指定一个时间开始计时,时间到之后会向外发送通知,发送通知的方式就是使用<-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。关键词:
外地小哥驰援、开通药品专线、开启夜派模式,邮政快递业—— 充实运力,保障药品和民生物资配送 12月以来,全国邮政、快递企业日均揽收
根据市场公开信息整理,孚能科技(688567)于12月19日将有700 67万股限售股份解禁上市,为公司股权激励一般股份,占公司总股本0 58%。最近一年内,该
12月16日,记者从国家公务员局网站获悉,中央机关及其直属机构2023年度考试录用公务员笔试定于2023年1月7日、8日举行。一、笔试时间安排公共科
根据IDC2022年一项调查显示,84%的受访企业已经开始或已经参与数字优先战略,超过一半的受访企业预计到2023年将扩大其核心行业
每件50元至300元涉及财产分割,财产总额不超过20万元的,不另行交纳;超过20万元的部分按照0。5%交纳侵害姓名权、名称权、肖像权、名誉权、荣
1、产生罚息这是金钱上的损失。如果信用贷款出现逾期,贷款机构会先电话催收贷款,提醒借款人还款,同时利率还会上浮,作为每天的罚息。虽然每
证券代码:600162 证券简称:香江控股 公告编号:临 2022-086 深圳香江控股股份有限公司 202
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
4月7日,德云社“一哥”岳云鹏晒照庆祝自己36岁生日,配文为:你都36岁了,要好好努力!配图就特别符合他的风格,一张头戴生日帽的照片和自己
酒鬼酒(000799)12月14日在投资者关系平台上答复了投资者关心的问题。
维达国际(03331 HK)涨超10%,自11月至今股价累涨逾41%。截至发稿,涨8 51%,报21 05港元,成交额3587 9万港元。截至2022年1
比亚迪已提前完成年初制定的150万辆销量目标,预计全年销量将超过180万辆。 今年以来,比亚迪密集推出新车型以及改款车型,持续进入新一轮
2022年12月13日南网科技(688248)发布公告称公司于2022年12月9日召开业绩说明会,JKCapitalSherryMA、保诚基金孙浩中王滔、
还有一种可能是你用的酸是亚硫酸,一种易挥发易燃的液体,也会受到油品质量的影响,一个分子过程。二硫化碳可与乙醇和丙酮等有机溶剂混溶。烷
周一共45股涨停(不含ST股),12股封板未遂,连板股总数7只。人人乐走出5连板;新华制药4连板;宁波远洋(新股上市)3连板。 一、板块异动
Copyright 2015-2022 北方双创网 版权所有 备案号:京ICP备2021034106号-50 联系邮箱: 55 16 53 8@qq.com
英飞拓(002528.SZ)近日走出大涨大跌的过山车行情 今日一字板跌停
英飞拓(002528 SZ)近日走出大涨大跌的过山车行情,此前走出3连涨停创下阶段新高,今日一字板跌停,录得连续2日跌停,大幅回吐此前涨幅,现
京基智农(000048.SZ)再度跌超6% 总市值失守百亿元大关
昨日跌停的京基智农(000048 SZ)再度跌超6%,盘中低见16 5元创5个月新低,总市值失守百亿元大关。公司控股股东京基集团7月4日通过大宗交易方
随着全光网络越织越密 如何进一步增强消费者和产业界的“获得感”?
近年来,在5G和宽带双千兆牵引下,新项目、新试点、新应用层出不穷。随着全光网络越织越密,如何进一步增强消费者和产业界的获得感?湖北日