Spring Boot定时+多线程执行过程解析

所属分类: 软件编程 / java 阅读数: 65
收藏 0 赞 0 分享

这篇文章主要介绍了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这个注解,放在一起就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java基于反射机制实现全部注解获取的方法示例

这篇文章主要介绍了Java基于反射机制实现全部注解获取的方法,结合实例形式分析了java反射机制获取注解的具体实现方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 信号量Semaphore的实现

这篇文章主要介绍了Java 信号量Semaphore的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

eclipse+maven+spring mvc项目基本搭建过程

这篇文章主要介绍了eclipse+maven+spring mvc项目基本搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring boot集成swagger2生成接口文档的全过程

这篇文章主要给大家介绍了关于Spring boot集成swagger2生成接口文档的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java冒泡排序法和选择排序法的实现

这篇文章主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Cloud Alibaba教程之Sentinel的使用

这篇文章主要介绍了Spring Cloud Alibaba教程之Sentinel的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Josephus环的四种解法(约瑟夫环)基于java详解

这篇文章主要介绍了Josephus环的四种解法(约瑟夫环)基于java详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java继承Thread类创建线程类示例

这篇文章主要介绍了Java继承Thread类创建线程类,结合实例形式分析了java线程操作相关使用技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java使用Callable和Future创建线程操作示例

这篇文章主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

springBoot使用JdbcTemplate代码实例

这篇文章主要介绍了springBoot使用JdbcTemplate代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多