java中多个@Scheduled定时器不执行如何解决


本篇内容主要讲解“java中多个@Scheduled定时器不执行如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中多个@Scheduled定时器不执行如何解决”吧!项目背景:在项目中包含两个定时任务,配置信息如下:1、@Scheduled(initialDelay = 1,fixedDelay=10000)public voud aa(){}1、@Scheduled(initialDelay = 1,fixedDelay=10000)public voud bb(){}我们需要的都是项目启动后,同时调用执行aa 和bb 方法,我们发现只能执行其中一个!那么如何解决呢?原因是:@Scheduled注解会在默认情况下以单线程的方式执行定时任务。这个“单线程”指两个方面:如果一个定时任务执行时间大于其任务间隔时间,那么下一次将会等待上一次执行结束后再继续执行。
如果多个定时任务在同一时刻执行,任务会依次执行。我们项目都是配置了initialDelay =1 ,Scheduled启动一个的时候,另外一个根本得不到执行!当然fixedDelay是可以正常按照执行间隔来执行的,就是首次执行收到影响!为了让@Scheduled效率更高,我们可以通过两种方法将定时任务变成多线程执行::方法1、在启动类中配置TaskScheduler线程池大小方法2、利用Spring提供的@Async注解和@EnableAsync注解到此,相信大家对“java中多个@Scheduled定时器不执行如何解决”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关免费云主机域名内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: python中的π如何输入

今天小编给大家分享一下python中的如何输入的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。本文教程操作环境:windows7系统、Python…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/14 18:17
Next 06/14 18:17

相关推荐