欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

詳解SpringBoot如何使用多線程-創(chuàng)新互聯

小編這次要給大家分享的是詳解Spring Boot如何使用多線程,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

網站設計制作、成都網站設計,成都做網站公司-成都創(chuàng)新互聯公司已向超過千家企業(yè)提供了,網站設計,網站制作,網絡營銷等服務!設計與技術結合,多年網站推廣經驗,合理的價格為您打造企業(yè)品質網站。

前言

本文帶你快速了解@Async注解的用法,包括異步方法無返回值、有返回值,最后總結了@Async注解失效的幾個坑。

在 SpringBoot 應用中,經常會遇到在一個接口中,同時做事情1,事情2,事情3,如果同步執(zhí)行的話,則本次接口時間取決于事情1 2 3執(zhí)行時間之和;如果三件事同時執(zhí)行,則本次接口時間取決于事情1 2 3執(zhí)行時間最長的那個,合理使用多線程,可以大大縮短接口時間。那么在 SpringBoot 應用中如何優(yōu)雅的使用多線程呢?

Don't bb, show me code.

快速使用

SpringBoot應用中需要添加@EnableAsync注解,來開啟異步調用,一般還會配置一個線程池,異步的方法交給特定的線程池完成,如下:

@Configuration
@EnableAsync
public class AsyncConfiguration {

 @Bean("doSomethingExecutor")
 public Executor doSomethingExecutor() {
  ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  // 核心線程數:線程池創(chuàng)建時候初始化的線程數
  executor.setCorePoolSize(10);
  // 大線程數:線程池大的線程數,只有在緩沖隊列滿了之后才會申請超過核心線程數的線程
  executor.setMaxPoolSize(20);
  // 緩沖隊列:用來緩沖執(zhí)行任務的隊列
  executor.setQueueCapacity(500);
  // 允許線程的空閑時間60秒:當超過了核心線程之外的線程在空閑時間到達之后會被銷毀
  executor.setKeepAliveSeconds(60);
  // 線程池名的前綴:設置好了之后可以方便我們定位處理任務所在的線程池
  executor.setThreadNamePrefix("do-something-");
  // 緩沖隊列滿了之后的拒絕策略:由調用線程處理(一般是主線程)
  executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
  executor.initialize();
  return executor;
 }
}

另外有需要云服務器可以了解下創(chuàng)新互聯建站www.chinadenli.net,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享名稱:詳解SpringBoot如何使用多線程-創(chuàng)新互聯
網頁網址:http://www.chinadenli.net/article30/djssso.html

成都網站建設公司_創(chuàng)新互聯,為您提供營銷型網站建設軟件開發(fā)搜索引擎優(yōu)化域名注冊ChatGPT用戶體驗

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站優(yōu)化排名