java @Async异步

java @Async异步

 SpringBoot中使用@Async注解标记的方法,会在调用方法的当前线程之外的独立线程中执行。
    步骤:
         1、application类上加@EnableAsync注解:;
         2、需要异步的方法上添加@Async注解;
   失效原因: 主方法和异步方法在同一个service下。so 不能在一个类里面,否则会导致同步执行。
 (同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。
   异步就只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕,而是继续执行下面的流程)

缺点

  用@Async注解开启的异步功能,会调用AsyncExecutionAspectSupport类的doSubmit方法;
  所以使用@Async注解开启的异步功能,默认情况下,每次都会创建一个新线程。
  优化的话 使用@Async注解开启的异步功能时,可以定义一个线程池。

你可能感兴趣的:(java后端,java,spring,boot,开发语言)