最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于SpringBoot使用@Async的總結(jié)

 更新時(shí)間:2021年12月28日 15:04:07   作者:young5201314  
這篇文章主要介紹了關(guān)于SpringBoot使用@Async的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot使用@Async總結(jié)

注意事項(xiàng):

如下方式會(huì)使@Async失效

1. 異步方法使用static修飾

2. 異步類沒有使用@Component注解(或其他注解)導(dǎo)致spring無法掃描到異步類

3. 異步方法不能與異步方法在同一個(gè)類中

4. 類中需要使用@Autowired或@Resource等注解自動(dòng)注入,不能自己手動(dòng)new對(duì)象

5. 如果使用SpringBoot框架必須在啟動(dòng)類中增加@EnableAsync注解

6. 在Async 方法上標(biāo)注@Transactional是沒用的。 在Async 方法調(diào)用的方法上標(biāo)注@Transactional 有效。

SpringBoot實(shí)現(xiàn)異步(Async)接口

1. 啟動(dòng)類引入@EnableAsync注解

@SpringBootApplication  
@EnableAsync  
public class Application{    
    public static void main(String[] args) {  
        SpringApplication.run(Application.class, args);  
    }  
}

2. 建立異步任務(wù)類

我們建了3個(gè)異步任務(wù),分別延遲1s,2s,3s

@Component
public class AsyncTask {
    @Async
    public void task1() throws InterruptedException{
        long currentTimeMillis = System.currentTimeMillis();
        Thread.sleep(1000);
        long currentTimeMillis1 = System.currentTimeMillis();
        System.out.println("task1任務(wù)耗時(shí):"+(currentTimeMillis1-currentTimeMillis)+"ms");
    }
    @Async
    public void task2() throws InterruptedException{
        long currentTimeMillis = System.currentTimeMillis();
        Thread.sleep(2000);
        long currentTimeMillis1 = System.currentTimeMillis();
        System.out.println("task2任務(wù)耗時(shí):"+(currentTimeMillis1-currentTimeMillis)+"ms");
    }
    @Async
    public void task3() throws InterruptedException{
        long currentTimeMillis = System.currentTimeMillis();
        Thread.sleep(3000);
        long currentTimeMillis1 = System.currentTimeMillis();
        System.out.println("task3任務(wù)耗時(shí):"+(currentTimeMillis1-currentTimeMillis)+"ms");
    }
}

3. 建立測(cè)試接口

@RestController
@RequestMapping("/test")
public class TestController {
    @Autowired
    private AsyncTask asyncTask;
    @RequestMapping("/async")
    public String doTask() throws InterruptedException{
        long currentTimeMillis = System.currentTimeMillis();
        asyncTask.task1();
        asyncTask.task2();
        asyncTask.task3();
        long currentTimeMillis1 = System.currentTimeMillis();
        return "task任務(wù)總耗時(shí):"+(currentTimeMillis1-currentTimeMillis)+"ms";
    }
}

啟動(dòng)SpringBoot服務(wù),訪問/test/async接口,能看到任務(wù)耗時(shí)只有1s

在這里插入圖片描述

查看控制臺(tái),發(fā)現(xiàn)異步task也成功執(zhí)行了!

在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)微信支付功能

    java實(shí)現(xiàn)微信支付功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)微信支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Spring init-method與destroy-method屬性的用法解析

    Spring init-method與destroy-method屬性的用法解析

    這篇文章主要介紹了Spring init-method與destroy-method屬性的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java JNDI案例詳解

    Java JNDI案例詳解

    這篇文章主要介紹了Java JNDI案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java ConcurrentHashMap用法案例詳解

    Java ConcurrentHashMap用法案例詳解

    這篇文章主要介紹了Java ConcurrentHashMap用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 基于visualvm監(jiān)控類實(shí)現(xiàn)過程詳解

    基于visualvm監(jiān)控類實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了基于visualvm監(jiān)控類實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • java將word轉(zhuǎn)pdf的方法示例詳解

    java將word轉(zhuǎn)pdf的方法示例詳解

    這篇文章主要介紹了java將word轉(zhuǎn)pdf的相關(guān)資料,文中講解了使用Aspose-Words工具將Word文檔轉(zhuǎn)換為PDF的優(yōu)劣,并提供了一種在Java項(xiàng)目中使用Aspose-Words進(jìn)行Word轉(zhuǎn)PDF的示例方法,需要的朋友可以參考下
    2025-01-01
  • SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例

    SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例

    在Web應(yīng)用中,文件下載功能是一個(gè)常見的需求,本文介紹了SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下,
    2023-09-09
  • Java?BasePooledObjectFactory?對(duì)象池化技術(shù)的使用

    Java?BasePooledObjectFactory?對(duì)象池化技術(shù)的使用

    這篇文章主要介紹了Java?BasePooledObjectFactory?對(duì)象池化技術(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Java每7天日志自動(dòng)清理的項(xiàng)目實(shí)踐

    Java每7天日志自動(dòng)清理的項(xiàng)目實(shí)踐

    在實(shí)際項(xiàng)目中由于服務(wù)器內(nèi)存有限,人工清理常會(huì)忘記,本文主要介紹了Java每7天日志自動(dòng)清理的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Java實(shí)現(xiàn)直接插入排序和折半插入排序算法示例

    Java實(shí)現(xiàn)直接插入排序和折半插入排序算法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)直接插入排序和折半插入排序算法示例,文中對(duì)算法的思想和時(shí)間復(fù)雜度都有簡單的講解,需要的朋友可以參考下
    2016-04-04

最新評(píng)論

宣武区| 扎囊县| 仪陇县| 德格县| 新乐市| 易门县| 西乌珠穆沁旗| 伊宁县| 巢湖市| 巫山县| 金川县| 天水市| 阜平县| 清苑县| 定州市| 八宿县| 大方县| 盱眙县| 洪洞县| 凤翔县| 江口县| 将乐县| 张家川| 琼结县| 莱西市| 西吉县| 遂溪县| 巴林右旗| 灵武市| 宣威市| 闽侯县| 佛教| 长垣县| 游戏| 阜南县| 镶黄旗| 广东省| 长宁区| 宜州市| 潞城市| 开平市|