@Async 注解

作者: Aaron_Lzz | 来源:发表于2020-07-12 23:35 被阅读0次

    @Async 注解

    异步注解可以标注在一个类或者一个方法上面(不包含静态方法和构造方法);使用这个注释的前提条件是在启动类上标注了@EnableAsync来打开异步。

    • 标注在类上面表示这个类的所有方法是异步方法;
    • 标注在方法上只表示当前方法为异步方法;
    @EnableAsync
    @Component
    @SpringBootApplication
    public class CountNumber {
    
      @Async
      public void print1(){
        System.out.println("print1-"+Thread.currentThread().getName());
        for(int i=0;i<10;i++){
          System.out.println("print1-"+i);
        }
      }
    
      @Async
      public void print2(){
        System.out.println("print2-"+Thread.currentThread().getName());
        for(int i=0;i<10;i++){
          System.out.println("print2-"+i);
        }
      }
    
      public static void main(String[] args) {
        ConfigurableApplicationContext content = SpringApplication.run(CountNumber.class, args);
        CountNumber countNumber = content.getBean(CountNumber.class);
        countNumber.print2();
        countNumber.print1();
        System.out.println("main-"+Thread.currentThread().getName());
        for (int i=0;i<10;i++){
          System.out.println("--------------");
        }
      }
    
    }
    
    

    注:

    • 不能标注在构造方法上面;
    • 不能标注在静态方法上面;
    • 每个标注的方法会和一个task线程关联,但是执行顺序和调用顺序没有关系,执行顺序是按照方法在类中的顺序执行的。

    相关文章

      网友评论

        本文标题:@Async 注解

        本文链接:https://www.haomeiwen.com/subject/ojlocktx.html