国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ThreadPoolTaskExecutor異步線程池

2019-11-10 19:28:35
字體:
來源:轉載
供稿:網友

一、在sPRing配置文件中配置

<!-- 異步線程池 --> <bean id="threadPool" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心線程數 --> <property name="corePoolSize" value="3" /> <!-- 最大線程數 --> <property name="maxPoolSize" value="20" /> <!-- 隊列最大長度 >=mainExecutor.maxSize --> <property name="queueCapacity" value="1000" /> <!-- 線程池維護線程所允許的空閑時間 --> <property name="keepAliveSeconds" value="300" /> <!-- 線程池對拒絕任務(無線程可用)的處理策略 --> <property name="rejectedExecutionHandler"> <bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" /> </property> </bean>

二、在service類中注入 @Autowired private ThreadPoolTaskExecutor threadPool;

三、service方法中使用

public void doSomething(){ threadPool.execute(new Runnable() { @Override public void run() { //異步執行耗時的業務任務 } });}

完成


備注:如果要想得到耗時任務的返回結果可以如下使用:

String resp="";Future<String> task = threadPool.submit(new Callable<String>(){ @Override public String call() throws Exception { String callbackResp = HttpUtils.post(Url, params, "utf-8"); return callbackResp; } }); try { //注意task.get()會阻塞,直到返回數據為止,所以一般這樣用法很少用 resp=task.get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); }
上一篇:codevs1215 迷宮

下一篇:foreach解析

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临湘市| 绩溪县| 黔西县| 洪泽县| 当涂县| 凉山| 瑞昌市| 齐齐哈尔市| 木兰县| 溧阳市| 辉南县| 安平县| 商都县| 吴堡县| 宣城市| 克山县| 镇原县| 随州市| 通化县| 嘉兴市| 枣庄市| 阳山县| 淮安市| 万荣县| 大庆市| 集贤县| 抚顺市| 建昌县| 元谋县| 蓬安县| 崇义县| 合水县| 连云港市| 玉树县| 金坛市| 德化县| 壶关县| 玉龙| 博罗县| 庄浪县| 民权县|