zoukankan      html  css  js  c++  java
  • Spring异步注解@Async

    1、什么是异步

      异步就是调用者只是发送了调用指令,而不需要等待返回结果,可以继续执行下面的流程。

    2、实现方式

      1⃣️启动类上添加@EnableAsync

      2⃣️在方法上添加@Async注解

      3⃣️注入@Async方法所在的类,直接调用即可。

    需要注意两点:第一个异步方法必须通过类对象直接调用才能生效。第二个是在跑测试时如果主线程结束,那么异步方法也会被随即终止。如果不知道,可能会奇怪异步为什么没执行完就停止了。

     1 public class AsyncDemo{
     2 
     3       @Async
     4       public void asyncMethod(){
     5 
     6       }
     7 
     8       public void anotherMethod(){
     9             this.asyncMethod();
    10       }
    11 }
    12 
    13 public class CallAsync{
    14       @Autowired
    15       private AsyncDemo asyncDemo;
    16 
    17       public void vaildCallMethod(){
    18             //方法会异步执行
    19             asyncDemo.asyncMethod();
    20       }
    21 
    22       public void invalidCallMethod(){
    23             //异步方法不会生效
    24             asyncDemo.anotherMethod();
    25       }    
    26 }
  • 相关阅读:
    数据库字段包含反斜杠的查询处理
    sql中的日期时间处理
    查询时间的测试
    group by 和 聚合函数的使用
    比较版本号
    sql IIF函数的应用
    win10系统杀毒功能
    php性能的问题
    linux 下ab压力测试
    datatables的学习总结
  • 原文地址:https://www.cnblogs.com/shuaixiaobing/p/11975053.html
Copyright © 2011-2022 走看看