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开启多线程使用示例相关推荐

  1. spring boot内嵌tomcat优雅的开启apr模式

    文章目录 简介 Win下开启APR Linux下开启APR 把lib打进jar包 简介 环境: jdk8.spring boot 2.3.4.RELEASE.centOS7.3.win7 在sprin ...

  2. Spring Boot 企业级开发课后题答案黑马程序员

    第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring Boot框架. Spring Boot框架在开发过程中大量使用 约定优先配置 的思想来摆脱框架中 ...

  3. Spring Boot 企业级开发课后题答案

    Spring Boot 企业级开发课后题答案 黑马程序员 加粗字体为答案 转发请注明出处[感谢] 第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring ...

  4. Nacos(六)之Spring Boot集成

    转载自  Nacos Spring Boot 快速开始 本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现. 关于 Naco ...

  5. Spring Boot————默认缓存应用及原理

    引言 应用程序的数据除了可以放在配置文件中.数据库中以外,还会有相当一部分存储在计算机的内存中,这部分数据访问速度要快于数据库的访问,因此通常在做提升数据访问速度时,会将需要提升访问速度的数据放入到内 ...

  6. Nacos Spring Boot 快速开始

    Nacos Spring Boot 快速开始 本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现. 关于 Nacos Spr ...

  7. WebSocket 从入门到精通 -- Spring boot服务端客户端 -- HTML客户端

    注意:学习本文章一定要打开自己的开发工具,代码中有详细的解释.电脑不在身边建议先收藏,方便日后观看.最后祝大家技术突飞猛进,早日拿到心仪的offer. WebSocket -- 从入门到精通 基础讲解 ...

  8. 对spring boot yml配置文件敏感信息加密处理的两种方式

    目录 方式一:手动配置加密处理(手动配置分三种情况) 方式二:spring boot整合Jasypt实现yml配置文件敏感信息加密 yml配置文件敏感信息无非就是数据库密码,redis密码,以及整合的 ...

  9. Spring Boot Admin,贼好使

    Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序.应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 ...

最新文章

  1. WindowManager如何被Android深度解析(3)
  2. EmEditor编辑器正则表达式的优点
  3. mysql 分组数据_MySQL基础之分组数据
  4. Ubuntu16.04更新软件源
  5. Windows xp 如何查看SID?
  6. 左斜杠和右斜杠有什么区别_「斜杠云」SEO推广和SEO优化有什么区别?
  7. 判断一个数是否存在于一个非递减的有序数列中 算法(Ordered Search Problem)
  8. c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧
  9. 浅谈C#中的枚举 【转自http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.html】
  10. Boostnote跨平台 Markdown 编辑器
  11. 扫描二维码登录的接口
  12. labelme为圆环状物体打标签【tips】
  13. 最优化理论极简入门(第一部分):最优化条件和KKT条件
  14. Q版京剧脸谱来喽——刀马旦
  15. 计算机类专业知识pdf,事业单位计算机专业知识整理(全)(20210324075052).pdf
  16. 音乐音频 | openSMILE提取音频需要掌握的知识
  17. Yocto、Poky、OpenEmbedded 之间的关系
  18. CellphoneDB-细胞通讯软件
  19. 编程语言书籍下载(ASP/ASP.net类)
  20. 用Tkinter包装一个音乐下载爬虫

热门文章

  1. 容器打印日志到控制台阻塞的排障
  2. 一点一点看JDK源码(四)java.util.ArrayList 中篇
  3. 泛型(比较杂 后期整理)
  4. HTML5和CSS3不仅仅是两项新的Web技术标准
  5. 献给写作者的 Markdown 新手指南
  6. [转载]轻松玩转LCD12864-基于AVR单片机的LCD12864串行显示
  7. 前端面试高频题:删除数组重复元素的多种方法
  8. pku1401 Factorial 计算n!末尾有几个0?
  9. 鼠标事件onmouuse大全
  10. 修正wme输出的ASF流数据