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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 污污美女 | 四虎在线永久免费视频网站 | 男人添女人 | 国产精品视频在线观看 | 成人在线免费观看 | 午夜福利视频极品国产83 | 日韩欧美a | 午夜欧美精品久久久久久久久 | 91麻豆国产 | 久久99热成人精品国产 | 大象视频污 | 性欧美sexvideo另类 | 欧美调教打屁股spank视频 | 和两个男人玩3p好爽视频 | 亚洲欧美7777 | 美女脱了内裤打开腿让你桶爽 | 二区三区不卡不卡视频 | 99久久免费国产特黄 | 国产经典一区二区三区蜜芽 | 草草剧场 | 国产视频福利 | 无遮18禁在线永久免费观看挡 | 爸爸干女儿小说 | 91制片厂制作传媒破解版免费 | 男生同性视频twink在线 | 国产精品视频一区二区三区不卡 | 国产caonila在线观看 | 99久久精品国产免费 | 国产成人久久精品一区二区三区 | 东北美女野外bbwbbw免费 | 欧美一级高清免费a | 日本老师xxxxx18 | 美女被狂干 | jizz女16处 | 国产愉拍精品视频手机 | 国产麻豆传媒在线观看 | xxxxx性中国hd | 火影忍者小南裸羞羞漫画 | 精品国语对白精品自拍视 | 哇嘎在线精品视频在线观看 | 国产最新精品视频 |