Springboot 多線程的使用

直接上代碼

線程配置類

package zengmg.nbpi.com.thread;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor;/*** @Auther 松門一枝花* @Date 2020/5/28*/
@Configuration
@EnableAsync  // 啟用異步任務
public class AsyncConfiguration {// 聲明一個線程池(并指定線程池的名字)@Bean("nbpiTaskExecutor")public Executor asyncExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();//核心線程數:線程池創建時候初始化的線程數executor.setCorePoolSize(5);//最大線程數:線程池最大的線程數,只有在緩沖隊列滿了之后才會申請超過核心線程數的線程executor.setMaxPoolSize(500);//允許線程的空閑時間60秒:當超過了核心線程出之外的線程在空閑時間到達之后會被銷毀executor.setKeepAliveSeconds(60);//線程池名的前綴:設置好了之后可以方便我們定位處理任務所在的線程池executor.setThreadNamePrefix("DailyAsync-");executor.initialize();return executor;}
}

服務類

package zengmg.nbpi.com.thread;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;/*** @Auther 松門一枝花* @Date 2020/5/28*/
@Service
public class CustomMultiThreadingService {private static final Logger logger = LoggerFactory.getLogger(CustomMultiThreadingService.class);/*如何讓異步調用的執行任務使用這個線程池中的資源來運行呢?方法非常簡單,我們只需要在@Async注解中指定線程池名即可*/@Async("nbpiTaskExecutor")public void executeAysncTask(Integer i) throws InterruptedException {logger.info("CustomMultiThreadingService ==> executeAysncTask1 method: 執行異步任務{} ", i);Thread.sleep(500L);}}

控制類

package zengmg.nbpi.com.thread;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;/*** @Auther 松門一枝花* @Date 2020/5/28*/
@Controller
@RequestMapping(value="/multithreading")
public class CustomMultiThreadingController {@Autowiredprivate CustomMultiThreadingService customMultiThreadingService;@ResponseBody@RequestMapping("/dotask")public String doTask() {try {for (int i=0;i<100000;i++){customMultiThreadingService.executeAysncTask(i);}} catch (InterruptedException e) {e.printStackTrace();}return "success";}}

運行效果

?

異步方法和調用方法一定要寫在不同的類中?,如果寫在一個類中,是沒有效果的!

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537586.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vlookup函數練習_為什么職場要學excel函數?看這個案例演示:自動計算快遞價格...

在上一篇文章里面&#xff0c;我們講了如何整理完成一個規范化的表格&#xff0c;以便于下一步的函數計算。最初的信息內容如圖所示。經過整理&#xff0c;我們得到了表2這樣的規范化表格。現在&#xff0c;我們就通過表2來實現快遞費用自動計算&#xff0c;最終實現圖中這樣的…

%@ taglib prefix=c uri=http://java.sun.com/jsp/jstl/core %會報錯

有些時候&#xff0c;<% taglib prefix"c" uri"http://java.sun.com/jsp/jstl/core" %>會報錯&#xff0c;錯誤提示為&#xff1a; Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core" 主要原因是缺少 jst…

藍牙芯片排行_7月TWS 全球品牌出貨量排行榜出爐

數據鑄造影響力撰文 / 旭日大數據編輯 / 柏序旭日大數據公布了2020年7月全球TWS品牌銷量排行榜&#xff0c;與上期數據相比&#xff0c;全球品牌七排名TOP20汰換率為15%&#xff0c;其中DOSS&#xff0c;萬魔、BOSE跌出前20&#xff0c;廣州由我&#xff0c;Tzumi登榜&…

project 打印的時候上面的表格和下面的圖例中間有個很大的空白,這塊東西怎么能去掉呢?

“打印預覽”的“頁面設置”里面&#xff0c;“頁面”選項卡里的“縮放”項設為1頁寬&#xff0c;1頁高就可以了&#xff0c; 當然如果你的任務項比較少的話&#xff0c;怎么調也不容易去掉下面的空白 操作如下圖&#xff08;下圖的任務太少&#xff0c;去不掉空白的&#xf…

加密機工作原理_端子機壓力檢測裝置工作原理

上期我們介紹了端子機壓力管理裝置的使用常識&#xff0c;這期我們介紹端子機壓力管理裝置的工作原理&#xff0c;端子機壓接管理裝置&#xff0c;有單通道壓力監測和雙通道壓力監測二種&#xff0c;雙通道壓力監測裝置&#xff0c;一般用于雙頭端子壓接機上&#xff0c;一臺主…

win10解決java多版本java -version問題

電腦環境 先安裝了Jdk8&#xff0c;后安裝了jdk11.&#xff08;發現Jdk11沒有單獨的jre&#xff0c;官網也不提供下載&#xff0c;集成在一起了&#xff09; Java -version 將環境變量切換為 JDK11 后 javac -version 是 java編譯環境是jdk11了&#xff0c;但 java -versio…

vs設計窗口不見了_碳纖維的巔峰:VS沛納海616V3

各位朋友&#xff0c;你們好&#xff01;歡迎大家關注XYZ腕表俱樂部。專注腕表資訊&#xff0c;致力于做腕表拆解測評&#xff0c;為大家普及分享有價值的腕表知識&#xff0c;真正讓大家實實在在透明玩表。想了解更多&#xff0c;歡迎搜索&#xff1a;XYZ腕表俱樂部。可以讓您…

CSharpGL(49)試水OpenGL軟實現

CSharpGL(49)試水OpenGL軟實現 CSharpGL迎來了第49篇。本篇內容是用C#編寫一個OpenGL的軟實現。暫且將其命名為SoftGL。 目前已經實現了由Vertex Shader和Fragment Shader組成的Pipeline&#xff0c;其效果與顯卡支持的OpenGL實現幾乎相同。下圖左是常規OpenGL渲染的結果&#…

SonarQube結合IDEA實現代碼檢測

環境準備 1.SonarQube下載&#xff1a;https://www.sonarqube.org/downloads/ 建議用最新版本&#xff0c;SonarQube與idea的結合 需要SonarQube很多插件&#xff0c;需要借助idea的SonarLint 插件。 不同的SonarQube版本&#xff0c;有不同的插件版本 idea的SonarLint 插件…

二維小波變換_【外文文獻速讀】實時二維水波模擬

題目&#xff1a;Water surface wavelets 作者&#xff1a;Stefan Jeschke&#xff0c; Tom?Sk?ivan&#xff0c; MatthiasMller-Fischer&#xff0c; Nuttapong Chentanez&#xff0c; Miles Macklin&#xff0c; Chris Wojtan

技術開發(委托)合同怎么寫?

一直基于寧波市科技局備案合同模板簽訂合同&#xff0c;并完成科技局備案工作&#xff0c;成功了N次&#xff0c;直接分享模板&#xff0c;該模板通過了法務審核&#xff0c;財務審核&#xff0c;只需要批示修改相關內容即可&#xff0c;一份技術開發委托合同&#xff0c;十幾分…

最常用的15個前端表單驗證JS正則表達式

2019獨角獸企業重金招聘Python工程師標準>>> 在表單驗證中&#xff0c;使用正則表達式來驗證正確與否是一個很頻繁的操作&#xff0c;本文收集整理了15個常用的JavaScript正則表達式&#xff0c;其中包括用戶名、密碼強度、整數、數字、電子郵件地址&#xff08;Ema…

程序員個人外包合同怎么寫?

分享一份工作上經常用到的個人外包合同協議&#xff0c;該協議通過了法務與財務審核&#xff0c;兼顧甲乙雙方利益&#xff0c;程序員接私活必備&#xff01;&#xff01;&#xff01;&#xff01; ---需要電子word版&#xff0c;請關注--------- 回復&#xff1a;個人外包合同…

rocketmq新擴容的broker沒有tps_深入研究RocketMQ消費者是如何獲取消息的

前言小伙伴們&#xff0c;國慶都過的開心嗎&#xff1f;國慶后的第一個工作日是不是很多小伙伴還沉浸在假期的心情中&#xff0c;沒有工作狀態呢&#xff1f;那王子今天和大家聊一聊RocketMQ的消費者是如何獲取消息的&#xff0c;通過學習知識來找回狀態吧。廢話不多說&#xf…

蘇寧 11.11:倉庫內多 AGV 協作的全局路徑規劃算法研究

本文為『InfoQ x 蘇寧 2018雙十一』技術特別策劃系列文章之一。 1. 背景 隨著物聯網和人工智能的發展&#xff0c;越來越多的任務漸漸的被機器人取代&#xff0c;機器人逐漸在發展中慢慢進入物流領域&#xff0c;“智能叉車”&#xff0c;AGV&#xff08;Automated Guided Vehi…

老板思維:工作負責人是首問責任制

工作負責人包括部門領導&#xff0c;項目經理等負責人。以項目經理為例&#xff0c;解釋這種思維。 分好幾種情況&#xff1a; &#xff08;1&#xff09;當公司&#xff08;老板&#xff0c;領導&#xff0c;甲方&#xff09;將事情交給你的時候&#xff0c;這件事情就由你負…

用python繪制玫瑰花的代碼_python也能玩出玫瑰花!程序員的表白代碼

有些情侶是異地戀&#xff0c;情人節想送朵玫瑰花給女朋友都困難。別擔心&#xff0c;用Python就好了&#xff0c;互聯網時代的戀愛神器&#xff01;接下來就讓我們一起來看看如何用Python變出玫瑰花的。 1、首先我們導入畫圖工具turtle&#xff0c;即import turtle 2、導入畫圖…

Springboot 整合 swagger

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/weixin_40254498/article/details/83622098 swagger 主要是為后端服務的接口文檔&#xff0c;懶人必備&#xff0c;swagger就是一款讓你更好的書寫API文檔的框架。 其他的框架…

Project為項目設置預算

假設項目預算10萬元&#xff0c;如果項目完成后&#xff0c;花費沒有超過10萬元&#xff0c;則成本管理是成功的&#xff0c;如果花費了11萬&#xff0c;則超過了預算。 預算是10萬&#xff0c;一般目標成本設得比預算成本低&#xff0c;比如9.5萬。在項目實施過程中&#xff…

activiti7流程設計器_變頻空調器通信電路

通信電路由室內機和室外機主板兩個部分單元電路組成&#xff0c;并且在實際維修中該電路的故障率比較高&#xff0c;因此單設--節進行詳細說明。第三章變頻空調器單元電路對比和通信電路第二節通信電路通信電路由室內機和室外機主板兩個部分單元電路組成&#xff0c;并且在實際…