Spring Boot 2.x多线程--使用@Async开启多线程使用示例
Spring Boot 2.x多线程–使用@Async开启多线程,配置类+启动类注解,搞定多线程任务。
配置类
TaskPoolConfig.java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;/*** @ProjectName springbootdemo_src* @ClassName TaskPoolConfig* @Desicription TODO* @Author Zhang Xueliang* @Date 2019/5/15 10:10* @Version 1.0**/
@Configuration
public class TaskPoolConfig {@Bean("taskExecutor-zhangxueliang")public Executor taskExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();executor.setCorePoolSize(10);//核心线程数目executor.setMaxPoolSize(20);//指定最大线程数executor.setQueueCapacity(200);//队列中最大的数目executor.setKeepAliveSeconds(60);//线程空闲后的最大存活时间executor.setThreadNamePrefix("zhangxueliang-taskExecutor-");//线程名称前缀executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());executor.initialize();return executor;}
}
在启动类
ZxlDemoApplication.java
添加@EnableAsync
注解(注意:@EnableAsync注解既可以添加到启动类也可以直接添加到配置类上面,效果一样。如果要扫描特定的包,使用@ComponentScan
包扫描注解指定报名即可)
@SpringBootApplication
@EnableAsync//开启异步
public class ZxlDemoApplication {public static void main(String[] args) {SpringApplication.run(ZxlDemoApplication.class, args);}}
使用
@Async
注解标注要使用多线程的方法或类,加在类上,该类所有的方法都将是异步执行。
@Asyncpublic Future<String> doReturn(int i){logger.info(">>>>>>>>>>>>>>线程名>>>>>>>>>>>>>>"+Thread.currentThread().getName());try {// 这个方法需要调用500毫秒Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}// 消息汇总return new AsyncResult<>(String.format("这个是第{%s}个异步调用的证书", i));}
Spring Boot 2.x多线程--使用@Async开启多线程使用示例相关推荐
- spring boot内嵌tomcat优雅的开启apr模式
文章目录 简介 Win下开启APR Linux下开启APR 把lib打进jar包 简介 环境: jdk8.spring boot 2.3.4.RELEASE.centOS7.3.win7 在sprin ...
- Spring Boot 企业级开发课后题答案黑马程序员
第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring Boot框架. Spring Boot框架在开发过程中大量使用 约定优先配置 的思想来摆脱框架中 ...
- Spring Boot 企业级开发课后题答案
Spring Boot 企业级开发课后题答案 黑马程序员 加粗字体为答案 转发请注明出处[感谢] 第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring ...
- Nacos(六)之Spring Boot集成
转载自 Nacos Spring Boot 快速开始 本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现. 关于 Naco ...
- Spring Boot————默认缓存应用及原理
引言 应用程序的数据除了可以放在配置文件中.数据库中以外,还会有相当一部分存储在计算机的内存中,这部分数据访问速度要快于数据库的访问,因此通常在做提升数据访问速度时,会将需要提升访问速度的数据放入到内 ...
- Nacos Spring Boot 快速开始
Nacos Spring Boot 快速开始 本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现. 关于 Nacos Spr ...
- WebSocket 从入门到精通 -- Spring boot服务端客户端 -- HTML客户端
注意:学习本文章一定要打开自己的开发工具,代码中有详细的解释.电脑不在身边建议先收藏,方便日后观看.最后祝大家技术突飞猛进,早日拿到心仪的offer. WebSocket -- 从入门到精通 基础讲解 ...
- 对spring boot yml配置文件敏感信息加密处理的两种方式
目录 方式一:手动配置加密处理(手动配置分三种情况) 方式二:spring boot整合Jasypt实现yml配置文件敏感信息加密 yml配置文件敏感信息无非就是数据库密码,redis密码,以及整合的 ...
- Spring Boot Admin,贼好使
Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序.应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 ...
最新文章
- WindowManager如何被Android深度解析(3)
- EmEditor编辑器正则表达式的优点
- mysql 分组数据_MySQL基础之分组数据
- Ubuntu16.04更新软件源
- Windows xp 如何查看SID?
- 左斜杠和右斜杠有什么区别_「斜杠云」SEO推广和SEO优化有什么区别?
- 判断一个数是否存在于一个非递减的有序数列中 算法(Ordered Search Problem)
- c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧
- 浅谈C#中的枚举 【转自http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.html】
- Boostnote跨平台 Markdown 编辑器
- 扫描二维码登录的接口
- labelme为圆环状物体打标签【tips】
- 最优化理论极简入门(第一部分):最优化条件和KKT条件
- Q版京剧脸谱来喽——刀马旦
- 计算机类专业知识pdf,事业单位计算机专业知识整理(全)(20210324075052).pdf
- 音乐音频 | openSMILE提取音频需要掌握的知识
- Yocto、Poky、OpenEmbedded 之间的关系
- CellphoneDB-细胞通讯软件
- 编程语言书籍下载(ASP/ASP.net类)
- 用Tkinter包装一个音乐下载爬虫