当前关注:做零食批发!你可以这样搞
兄弟们,这几天一直没有更新内容,主要是因为汤主也了。以前刷抖音都是看别人分享阳了之后的症状。现在终于轮到自己了,不过我的症状比较简单
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。
Sleep使用休眠,让当前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。关键词:
兄弟们,这几天一直没有更新内容,主要是因为汤主也了。以前刷抖音都是看别人分享阳了之后的症状。现在终于轮到自己了,不过我的症状比较简单
1、龙筋鱼正宗炖40分钟。2、鲟龙鱼筋、南瓜、金华火腿肉、干贝、排骨、姜、葱、鲜金不换(罗勒)、黑胡椒粉、水。3、操作:金华火腿肉、干贝、
(原标题:工信部:APP应可便捷卸载不得以空白名称等方式恶意阻挠用户卸载)证券时报网讯,工信部27日公开征求对《工业和信息化部关于进一步提
夜幕降临,福建泉州晋江经济开发区五里工业园里,货车排起了长队,晋江嘉利实业有限公司的一批出口货物就在其中。“我们物流工作专班已经通过
春节联欢晚会一直是许多人向往的舞台,每一次都会受到全国网民的关注,这是一个成名的好时机,也赢得了很多新人,比如刘谦当时是个有点出名的
据国家统计局网站消息,根据对全国31个省(区、市)的统计调查(新疆棉花播种面积通过遥感测量取得),2022年全国棉花播种面积、单位面积产量和总
↑点击蓝字关注极市平台作者丨科技猛兽编辑丨极市平台极市导读本文提出一种卷积调制模块,利用卷积来建立关系,这比注意力机制在处理高分辨率
中新网北京12月25日电(记者陈杭)记者从北京市海淀区获悉,海淀区97项重点项目、309项在施工地已全面复工。其中,作为北京市重点工程,中关村论
新华社合肥12月23日电(记者陈诺何曦悦)近日,全国多地出台政策,明确阳性感染者的密切接触者可正常上班,不再要求居家隔离医学观察。一些地
腾讯的风控策略让普通用户抓狂经历是这样的,昨天有事要登录下QQ号,因为很久没用过QQ的缘故,现在是在一个新设备上登录,提示我需要扫码才能
1、过期的消毒液可以用来漂白,一些脏衣服上面有污渍,没办法清理干净,就可以用过期的消毒液进行浸泡。2、虽然过期的消毒液不建议用于消毒,
中央经济工作会议强调,要着力发展实体经济,依靠创新培育壮大发展新动能。企业是创新的主体,是推动创新创造的生力军。目前,我国企业研发投
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
(一)不涉及财产关系的:2000元-30000元 件。上下浮动幅度:20%但收费额不足2000元的按2000元收取。(二)涉及财产关系的,按争议标的额的以下费
梅西希望在巴黎主场展示世界杯冠军,俱乐部不愿意
你平常喜欢固定的风格还是各种风格都会去尝试,固定一种风格一定就很无聊吗?随意换风格就没有辨识度吗?确实无论你选择哪一种,都会有得有失
截至2022年12月21日收盘,地素时尚(603587)报收于15 3元,上涨0 99%,换手率0 22%,成交量1 04万手,成交额1598 13万元。12月
一期系统于2019年底上线,全面整合业务子系统,实现“一站式”交易监管平台。本次全面建成投产上线的二期系统使用更先进的实时计算技术,完成
【三年以下有期徒刑、拘役、管制、单处罚金量刑格】(一)诈骗不足4000元的,基准刑为罚金刑;4000元以上不足5000元的,基准刑为管制刑;5000
Copilot来了,程序员会失业吗?ChatGPT又来了,程序员会失业吗?程序员本来就焦虑,最近似乎越来越焦虑了。在Copilot问世时,我感觉自己退化
加入PolkaWorld社区,共建Web3 0!PolkadotOmniBTC赢得Polkadot第34次插槽Auction。https:
参考消息网12月19日报道据俄罗斯卫星社报道,当地时间19日,欧盟驻中非共和国位于班吉的外交使团建筑群被烧毁。欧盟驻中非(@参考消息)
富瑞发表报告指,内地寿险股由10月谷底回升40至80%。该行相信,通过更好的投资收益表现,内涵价值加速和内涵价值回报率仍有上升空间,幅度料介
【基金投資】2023年投資聚焦四大主題
中新社合肥12月18日电(记者吴兰)面包圈和茶杯拓扑等价,这是由于他们都有一个穿透的洞,而洞的个数是一个拓扑性质。拓扑物态是当前物理研究的