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

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

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

      如果错漏欢迎指正。

  • 相关阅读:
    前端常见跨域解决方案
    VS单元测试--初级篇
    高等数学思路
    二元函数求极值判别式AC-B^2
    向量积详解
    伯努利分布均值和方差
    两个标准正态随机变量相乘的方差
    a分位数与双侧a分位数
    中心极限定理概念理解与记忆
    样本方差概念解析
  • 原文地址:https://www.cnblogs.com/timeout/p/10477561.html
Copyright © 2011-2022 走看看