Spring Boot - Spring Async

  • 除了使用Thread、Runnable、TimerTask、FeatureTask、CompletableFuture等类,在Spring Boot中还可以使用注解创建异步任务,可以减少线程处理的代码,更简洁更专注于业务逻辑的实现
  • @EnableAsync:指明当前程序后面可以使用@Async注解来管理异步任务
    • 用在用@SpringBootApplication注解的启动类上
    • 用在用@Configuration注解的配置类上
  • @Async
    • 加在方法上(一般是@Service注解的业务类中
    • 在被调用时会被异步执行
    • 异步执行只能从外部调用,也就是说,如果是间接被一个非异步的方法内部调用了一个异步方法,那么也会被同步执行
    • 返回值
      • 如果一个异步方法在定义时直接使用了某个类型的返回值,那么其实返回的都是null(如果是基本类型,如果在外面又被用了,那么可能导致装箱,导致有异常,否则不会有异常)
      • Future 呢??

猜你喜欢

转载自www.cnblogs.com/wyp1988/p/10359718.html