zoukankan      html  css  js  c++  java
  • @Async 注解不生效

      今天发现了一个奇怪的问题,@Async 在某些地方不生效,不是异步的而是同步。(自己对Spring-Boot的@Async 注解不是很了解导致的)

      大概代码如下:

      

    public void handData() throws InterruptedException {
            System.out.println("方法1");
            asyneTask();
            System.out.println("运行结束");
        }
    
        @Async
        public void asyneTask() throws InterruptedException {
            Thread.sleep(1000);
            System.out.println("方法2");
        }

      程序执行的时候,永远会等待【方法2】输出,查了一下百度,大致的方法是缺少配置之类的,但是我这里显然不是,因为其他的异步注解生效了,不过从以下博客或问答中发现了问题:

      【博客】http://blog.didispace.com/springbootasync/

      【问答】https://www.oschina.net/question/3070332_2269990

      博客中,异步的方法调用是在另一个类里面,而我的这个是两个方法都在同一个类里面,只是一个方法调用另一个异步方法,不生效。

       解决方法就是拆分两个方法,将异步方法单独放在一个类里面,然后再去调用就解决了。具体参考【博客】链接。

      如果错漏欢迎指正。

  • 相关阅读:
    网络规划和布线
    网络编程
    NoSQL 非关系数据库
    OpenCV
    首页
    C++关键字
    TCP/IP 详解7 Ping指令
    TCP详解 (1)
    GRE封装解封装过程
    GRE tunnel
  • 原文地址:https://www.cnblogs.com/timeout/p/10477561.html
Copyright © 2011-2022 走看看