在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    正確使用@Async,避免踩坑

    用法和介紹

    功能描述

    @Async是Spring提供的使方法異步的注解

    使用方法

  • SpringBoot項目啟動類增加@EnableAsync注解,開啟異步功能
  • 給需要異步的方法增加@Async(“”)注解,一定要指定線程名稱
  • 代碼示例

    @EnableAsync@SpringBootApplicationpublic class StartApplication { public static void main(String[] args) { SpringApplication.run(StartApplication.class, args); }}@Servicepublic class AsyncService { /** * 使用默認線程池 */ @Async public void say(){ } /** * 指定線程池名稱 */ @Async(“getAsyncExecutor”) public void eat(){ }}@Configurationpublic class MyAsyncConfiguration { //核心線程數(shù) private static final int CORE_POOL_SIZE = 5; //最大線程數(shù) private static final int MAX_POOL_SIZE = 15; //隊列大小 private static final int QUEUE_CAPACITY = 100; //線程池中的線程的名稱前綴 private static final String THREAD_NAME = “MyThread-“; @Bean public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); //配置核心線程數(shù) executor.setCorePoolSize(CORE_POOL_SIZE); //配置最大線程數(shù) executor.setMaxPoolSize(MAX_POOL_SIZE); //配置隊列大小 executor.setQueueCapacity(QUEUE_CAPACITY); //配置線程池中的線程的名稱前綴 executor.setThreadNamePrefix(THREAD_NAME); //配置線程池拒絕策略,設置為CallerRunsPolicy,當線程和隊列都滿了,由發(fā)起線程的主線程自己執(zhí)行 executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; }}

    已實現(xiàn)的TaskExecutor線程池

    • SimpleAsyncTaskExecutor:不是真的線程池,這個類不重用線程,每次調(diào)用都會創(chuàng)建一個新的線程。
    • SyncTaskExecutor:這個類沒有實現(xiàn)異步調(diào)用,只是一個同步操作,只適用于不需要多線程的地方。
    • ConcurrentTaskExecutor:Executor的適配類,不推薦使用。如果ThreadPoolTaskExecutor不滿足要求時,才用考慮使用這個類 。
    • SimpleThreadPoolTaskExecutor:是Quartz的SimpleThreadPool的類。線程池同時被quartz和非quartz使用,才需要使用此類。
    • ThreadPoolTaskExecutor :最常使用,推薦。 其實質(zhì)是對java.util.concurrent.ThreadPoolExecutor的包裝。

    為什么說一定要指定線程池名稱

    @Async依賴線程池,當我們未指定線程池@Async會如何選擇呢?

    1. 當系統(tǒng)未配置任何線程池時

    SpringBoot會默認添加一個coreSize=8的 ThreadPoolTaskExecutor 無界線程池,名稱applicationTaskExecutor。

    2. 當只配置了一個TaskExecutor線程池時

    使用此線程池

    3. 當只配置了一個線程池,但不是TaskExecutor線程池時

    使用 SimpleAsyncTaskExecutor 線和池

    4. 當有多個TaskExecutor線程池時

    默認使用 SimpleAsyncTaskExecutor 線程池,如果指定就使用指定的線程池(即使不是TaskExecutor類型的線程池也可以)

    注意:SimpleAsyncTaskExecutor 不是真的線程池,這個類不重用線程,每次調(diào)用都會創(chuàng)建一個新的線程。強烈建議開發(fā)時指定線程池的名稱,避免創(chuàng)建多個TaskExecutor實例后,使用 SimpleAsyncTaskExecutor 線和池的情況發(fā)生

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月14日 12:29
    下一篇 2022年6月14日 12:29

    相關推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應該怎么發(fā))

      對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

      2022年11月27日
    • 全民K歌升級新版本7.0之后,有哪些隱藏功能?

      作者:高百烈來源:知乎 這個功能,舊版并沒有,要升級到全新的全民K歌7.0版本才能發(fā)現(xiàn)。 作為朋友圈當代K歌之王,我費了不少功夫才搶到內(nèi)測版本。有一說一,全民K歌的路子真的很野,新…

      2022年11月25日
    • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢朱紫》奇魯莉安怎么進化?奇魯莉安進化方法分享

      寶可夢朱紫中的奇魯莉安要怎么進化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進化方法分享 奇魯莉安…

      2022年11月25日
    • 2023年擺地攤賣什么最賺錢而且很受歡迎(2022年擺地攤合法嗎)

      關于擺地攤賺錢每年的熱度也是非常高的,很多想要做點小本生意的商家也都會選擇擺地攤這個項目,所需要的成本也是非常低的。那么,2023年擺地攤賣什么最賺錢而且很受歡迎?今天極客號小編整…

      2022年11月25日
    • 密接5+3是什么意思(密接人員是什么意思)

      如今新冠病例的傳播速度是越來越快了,對于感染了新冠病毒的人員來說都會采取隔離觀看措施。而據(jù)了解,當前國內(nèi)又對新冠疫情防控政策做了新的調(diào)整優(yōu)化,其中密接管理調(diào)整為“5+3”。很多人對…

      2022年11月25日
    • 上手Reno8 Pro體驗跨屏互聯(lián) 實在太方便!

      11月已經(jīng)來到了月底,在手機品牌又要推出新一年度的新品手機之前,我們來點評一下今年令人驚喜的產(chǎn)品。如OPPO的Reno8 Pro系列,該系列搭載雙芯影像配置獲得了很多消費者的認可?!?/p>

      2022年11月25日
    • 不知道考研真題哪里找?看這里!

      考研備考沖刺階段,知道大家都很疲憊,但是,別讓自己之前的努力白費,再堅持堅持,會看到你想要的結(jié)果的。 要是你想考研成功,有一個資料就必須要有。它就是:歷年考研真題。 考研真題的重要…

      2022年11月25日
    • 《原神》3.2無相交響詩第一天無相之冰怎么打?無相交響詩攻略

      原神3.2無相交響詩第一天無相之冰怎么打?最近新版本3.2版本的無相交響詩活動又開啟了,不少玩家還不清楚具體的玩法,下面一起來看一下原神被隱去的原神3.2無相交響詩第一天無相之冰打…

      2022年11月24日
    • cpu性能天梯圖2022 AMD CPU天梯圖最新排行榜出爐

      用戶在DIY自己的主機時選擇CPU是非常關鍵的,CPU可以說是電腦的大腦,大家也都想追求好一點的CPU來使用,但型號太多了,大部分的用戶都不知道目前哪一款CPU比較好用,快來看看詳…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息