定时器@Scheduled

定时器(@Scheduled)

背景:多个定时器运行时某一个定时器未能运行完导致另外的定时器不能准时执行,导致了每个定时器的任务处于排队中,接连导致各个任务不能在设定的时间完成从而影响了每个时间节点的数据不能正常更新
原因:未能实现定时器的并行执行
解决:采用@EnableAsync 和 @Async注解(@EnableAsync注解放置于该类,@Async放置于函数头部)
未使用@Async情况如下
截图1
截图2
截图3
可知相同时间跑多个定时器会导致排队执行,这样延误了时间对于要根据时间获取的数据造成很大的影响

使用@Async后
截图4
由输出结果可得知@Async可以实现异步,解决了多个相同时间定时器不能并行执行的问题,@EnableAsync用于开启异步
基于@Async标注的方法,为异步方法;这些方法在执行的时候,将会在独立的线程中被执行,无需等待它的完成,可继续其他的操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值