首页 > 其他分享 >SpringBoot 多线程

SpringBoot 多线程

时间:2022-08-17 18:11:06浏览次数:62  
标签:异步 SpringBoot public Async 多线程 class

关于SpringBoot中多线程的两个注解:
@Async是spring为了方便开发人员进行异步调用而出现的。在方法上加入这个注解,spring会从线程池中获取一个新的线程来执行方法,实现异步调用
@EnableAsync表示开启对异步任务的支持,可以放在SpringBoot的启动类上,也可以放在自定义的配置上。

一:最简单的使用

在springBoot项目中,直接在启动类上加上@EnableAsync,然后在service层的方法上加上@Async,那么当controller调用该方法的时候,就会在主线程外自动新建线程执行该方法。

1.springboot启动类开启异步支持

@EnableAsync//开启异步任务支持
@SpringBootApplication
public class ThreadDemoApplication{
	public static void main(String[] args){
	SpringApplication.run(ThreadDemoApplication.class,args);
	}
}

2、在service中编写测试方法

@Service
public class MutiThreadTest {

    @Async
    public void add() throws InterruptedException {
        for (int i=0;i<=100;i++){
            System.out.println(Thread.currentThread().getName()+":"+LocalDateTime.now().toLocalTime());
            Thread.sleep(1000);
        }
    }
    @Async
    public void sub() throws InterruptedException {
        for (int i=0;i<100;i++){
            System.out.println(Thread.currentThread().getName()+":"+ LocalDateTime.now().toLocalTime());
            Thread.sleep(2000);
        }
    }
}

标签:异步,SpringBoot,public,Async,多线程,class
From: https://www.cnblogs.com/rhy2103/p/16596219.html

相关文章

  • SpringBoot使用Log4J2
    一、常用日志框架Log4j:Apache的一个开源项目,可以控制日志信息输送的目的地是控制台、文件、GUI组件等,可以控制每一条日志的输出格式,这些可以通过一个配置文件来灵活地进......
  • 全局异常处理及参数校验-SpringBoot 2.7 实战基础 (建议收藏)
    优雅哥SpringBoot2.7实战基础-08-全局异常处理及参数校验前后端分离开发非常普遍,后端处理业务,为前端提供接口。服务中总会出现很多运行时异常和业务异常,本文主要讲......
  • Nodejs 多进程与多线程
    为什么要使用多进程多进程与多线程介绍Nodejs多进程和多线程使用与区别cluster为什么需要多进程nodejs单线程,在处理http请求的时候一个错误都会导致进程退出,这是灾......
  • springboot~用正则表达式提取bearer token
    前后一体的应用,是这样进行认证的用户向服务端发送验证信息(用户名、密码);服务端验证成功就向用户返回一个sessionid;服务端保存了这个session_id对应的信息,并写入用户......
  • Python爬虫之多线程异步爬虫,非常详细
    Python爬虫之多线程爬虫在使用Python的过程中,我们可能遇到这样一个场景,需要下载某一个网站上的多个资源;例如:我们想下载豆瓣电影Top250所有的宣传图片具体代码如下......
  • SpringBoot+Lombok+Builder实现任意个数属性的对象构造
    场景某个类有多个属性,在不同的业务场景下需要对不同对象赋值不同的属性。如果使用原始构造方法赋值,需要有几种情况的参数赋值,就在实体类中声明对应参数的构造方法。可以......
  • 03 - 多线程之间如何实现通讯
    Java多线程之间如何实现通讯多个线程之间通过wait,notify通讯publicclassThread007{classRes{publicStringuserName;publiccharuserSex......
  • SpringBoot 之 事务管理
    我们在开发企业应用时,由于数据操作在顺序执行的过程中,线上可能有各种无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑......
  • 奇淫巧技,CompletableFuture 异步多线程是真的优雅
     一个示例回顾Future一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。JDK5新增了Future接口,用于描述一个异步计算的结果。虽然Future以及相关使用......
  • SpringBoot:Configuration Annotation Processor not configured&在Spring Boot中读取a
    您在使用@ConfigurationProperties注解时可以使用spring-boot-configuration-processorjar轻松地从带有注释的项目中生成自己的配置元数据文件。该jar包含一个Java注释处......