关于SpringBoot定时任务的@Async注解异步执行的说明

关于SpringBoot定时任务的@Async注解异步执行的说明:

  1. 如果有多个定时任务类,且没有标注@Async注解,那么这些定时任务类里面的定时方法为同步执行,只要其中一个方法没有执行结束,另一个方法就得不到执行。
  2. 如果标注了@Async注解:
    A.如果一个定时方法执行的时间超过了定时时间(比如定时1秒执行一次,而实际方法可能要执行20秒),那么1秒后方法即使没有执行结束,也会另起一个线程去执行该方法。
    B.如果一个定时方法执行的时间小于定时时间(比如定时10秒执行一次,而实际方法只需要2秒就可以完成),那么就不会另起线程去执行该方法。
    总结:
    异步执行时,相当于如果定时1秒执行一次,而方法1秒内还没执行完,就另起一个线程去执行,指到把线程池里的线程数用完。
    举例:
    定时1秒执行1次,每次执行花费10秒,配置线程池个数4个,那么启动后,这4个线程池里的线程会被用完。因为到了1秒方法没结束,而又要1秒执行1次,那么就会拿另外的线程去执行。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值