一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springmvc配置線程池Executor做多線程并發操作的代碼實例

springmvc配置線程池Executor做多線程并發操作的代碼實例

2021-07-21 11:388blues Java教程

今天小編就為大家分享一篇關于springmvc配置線程池Executor做多線程并發操作的代碼實例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

加載xml文件

在applicationcontext.xml文件里面添加

?
1
xmlns:task="http://www.springframework.org/schema/task"

xmlns文件并且xsi:schemalocation中添加

?
1
http://www.springframework.org/schema/task
?
1
http://www.springframework.org/schema/task/spring-task.xsd

在spring中配置executor

在applicationcontext.xml文件里面添加

?
1
2
3
4
5
6
7
8
9
10
11
12
<bean id="taskexecutor" class="org.springframework.scheduling.concurrent.threadpooltaskexecutor">
    <!-- 核心線程數 -->   
    <property name="corepoolsize" value="${task.core_pool_size}" />
    <!-- 最大線程數 --> 
    <property name="maxpoolsize" value="${task.max_pool_size}" />
    <!-- 隊列最大長度 -->
    <property name="queuecapacity" value="${task.queue_capacity}" />
    <!-- 線程池維護線程所允許的空閑時間,默認為60s -->
    <property name="keepaliveseconds" value="${task.keep_alive_seconds}" />
  </bean>
  <!-- 注解式 -->
  <task:annotation-driven />

在dbconfig.properties添加

?
1
2
3
4
maxopenpreparedstatements=20
removeabandoned=true
removeabandonedtimeout=1800
logabandoned=true

這是分別對線程池做配置

添加依賴注入

在所需要的service或者controller類里面添加

?
1
2
@resource(name = "taskexecutor")
private taskexecutor taskexecutor;

使用線程池進行并發操作

代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
taskexecutor.execute(new runnable() {
  @override
  public void run() {
    // todo auto-generated method stub
    try {
       //要進行的并發操作
    } catch (exception e) {
      // todo auto-generated catch block
      e.printstacktrace();
    }
  }
});

提示

注意在線程中操作變量時候變量的作用域范圍。需要在這個controller或者sevice中聲明變量如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@controller
public class indexcontroller {
int studentscount = 0;
@requestmapping(value = "/index.html")
  public modelandview goindex() {
    logbefore(logger, "列表center");
    modelandview mv = this.getmodelandview();
        taskexecutor.execute(new runnable() {
        @override
        public void run() {
          // todo auto-generated method stub
          // 得到所有學生人數
          try {
                     studentscount = coursesservice.getstudentcount(pd);
          } catch (exception e) {
            // todo auto-generated catch block
            e.printstacktrace();
          }
        }
      });
         mv.addobject("studentscount", studentscount);
         mv.setviewname("common/index");
         return mv;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/u014320421/article/details/79295944

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品综合一区二区 | 亚洲国产在线播放 | 免费观看视频高清在线 | 千金肉奴隶在线观看 | 色人阁导航 | 俄罗斯bbbbbbxxxxxx | 久久不卡免费视频 | 91短视频社区在线观看 | 久久免费看少妇级毛片蜜臀 | 国产高清视频一区二区 | 久久久久琪琪精品色 | 香蕉国产人午夜视频在线观看 | 99av麻豆 | 久久亚洲精品AV无码四区 | gogort人体的最新网站 | 日本免费久久久久久久网站 | bt天堂在线最新版在线 | 蜜桃破解版免费看nba | 亚洲欧美久久婷婷爱综合一区天堂 | 欧美一区二区日韩一区二区 | 欧美极品brazzers 高清 | 97涩色| 欧美高清在线 | 精品国产自在现线拍400部 | 亚州日韩精品AV片无码中文 | 午夜电影三级还珠格格 | 我和老丈洗澡同性 | 亚洲精品中文字幕第一区 | а天堂中文最新版在线官网视频 | 欧美日韩高清观看一区二区 | 日产国产精品亚洲系列 | 午夜国产精品福利在线观看 | 9999热视频 | 污污的动态图合集 | 欧美男女交配 | 国产麻豆精品原创 | 色综合视频一区二区观看 | 97青草 | 国产rpg迷雾之风冷狐破解 | 思思久久精品在热线热 | 亚洲人成伊人成综合网久久 |