Spring Boot定时+多线程执行过程解析
这篇文章主要介绍了Spring Boot定时+多线程执行过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring Boot 定时任务有多种实现方式,我在一个微型项目中通过注解方式执行定时任务。
具体执行的任务,通过多线程方式执行,单线程执行需要1小时的任务,多线程下5分钟就完成了。
执行效率提升10倍以上,执行效率提升10倍以上,执行效率提升10倍以上。
重要的事情说三遍!
本文不深入介绍具体的原理,大家如果要实现类似的功能,只需要执行下面1~5即可。
(1)定时任务实现
在需要定时执行的的方法上面增加注解 @Scheduled(cron="01 00 17 * * ?") //[秒] [分] [小时] [日] [月] [周] [年]。
其中cron类似于Linux定时执行的写法,上述表示该任务每天17:00执行一次。
(2)定时任务方法内部多线程执行的部分
需要多线程执行的部分,要重新定义一个类,然后注入该类的变量。如我这里定义了一个类DoBackupTask,在这个类中通过多线程方式执行任务。
(3)多线程实现部分
多线程执行方法上,增加注解@Async("taskExecutor"),参数为线程池的名称
(4)线程池实现
线程池我定义了一个类,在该类中定义了一个方法asyncExecutor。该方法生成ThreadPoolTaskExecutor的一个对象,设置线程数量,线程池的名称等参数。
(5)当上述步骤都做好了,然而并没有效果。可能你漏了最关键的一步:在应用启动类上,增加注解
@EnableScheduling 启用多线程
@EnableAsync 异步执行
如果还是不清楚具体位置,就找@SpringBootApplication这个注解,放在一起就可以了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持无名。
同类资源
- AMENcron定时任务模块(1.1.3)
AMENcron定时任务模块本文件感兴趣的可以参考一下,cron获取列表错误,导致不能准确定时并执行任务,一般是跨月...
- 多线程安全,便捷日志框,一行代码即可使用
多线程安全,便捷日志框,一行代码即可使用本文件感兴趣的可以参考一下,无需担心多线程崩溃效果跟aalib一样的,...
- 易语言服务器组件多线程
易语言服务器组件多线程例子源代码,可以支持多少连接我没有测试。...
- 服务器组件多线程,用写内存的方法
易语言服务器组件多线程,用写内存的方法例子源代码,可以支持多少连接我没有测试,你们可以测试了发布出来。...
- 关于多线程稳定使用的讲解
易语言关于多线程稳定使用的讲解例子源代码,接触了这么久的易语言。...
- 开源一个鱼刺多线程
易语言开源一个鱼刺多线程例子源代码,个人测试100线程不崩其他情况自测,个人感觉完美鱼刺多线程。...
- 多线程检测页面是否被百度收录
多线程检测页面是否被百度收录例子源代码,直接上图这款工具对SEO优化人员来说。...
- 利用Event模块实现多线程暂停继续
利用Event模块实现多线程暂停继续例子源代码,利用Event状态控制模块,实现流程暂停恢复运行控制。...
- 乐易V8.ec测试多线程运行崩溃模块命令
测试多线程运行崩溃模块命令例子源代码,乐易V8。...
- E语言定时关机源码
易语言E语言定时关机源码例子源代码,定时关机源码,可设置关机时间。...
- 简单的post多线程注册
易语言简单的post多线程注册例子源代码,没事写着打发时间。...
- http多线程注册测试模板
易语言http多线程注册测试模板例子源代码,试着用易写了个多线程注册模板,总体感觉,挺方便。...