zoukankan      html  css  js  c++  java
  • SPRING中的线程池ThreadPoolTaskExecutor

    一、初始化

    1,直接调用

    1. ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();  
    2. //线程池所使用的缓冲队列  
    3. poolTaskExecutor.setQueueCapacity(200);  
    4. //线程池维护线程的最少数量  
    5. poolTaskExecutor.setCorePoolSize(5);  
    6. //线程池维护线程的最大数量  
    7. poolTaskExecutor.setMaxPoolSize(1000);  
    8. //线程池维护线程所允许的空闲时间  
    9. poolTaskExecutor.setKeepAliveSeconds(30000);  
    10. poolTaskExecutor.initialize();  

    2、配置文件

    1. <!-- 配置线程池 -->  
    2. <bean id ="taskExecutor"  class ="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" >  
    3.     <!-- 线程池维护线程的最少数量 -->  
    4. <span style="white-space:pre">  </span><property name ="corePoolSize" value ="5" />  
    5.     <!-- 线程池维护线程所允许的空闲时间 -->  
    6. <span style="white-space:pre">  </span><property name ="keepAliveSeconds" value ="30000" />  
    7.     <!-- 线程池维护线程的最大数量 -->  
    8. <span style="white-space:pre">  </span><property name ="maxPoolSize" value ="1000" />  
    9.     <!-- 线程池所使用的缓冲队列 -->  
    10. <span style="white-space:pre">  </span><property name ="queueCapacity" value ="200" />  
    11. </bean>  

    程序里面获取:

    ApplicationContext ctx =  new ClassPathXmlApplicationContext("applicationContext.xml");
    ThreadPoolTaskExecutor poolTaskExecutor = (ThreadPoolTaskExecutor)ctx.getBean("taskExecutor");


    二、利用线程池启动线程
    Thread udpThread = new Thread(udp);
    poolTaskExecutor.execute(udpThread);
    获取当前线程池活动的线程数:
    int count = poolTaskExecutor.getActiveCount();
    logger.debug("[x] - now threadpool active threads totalNum : " +count);


  • 相关阅读:
    JSP页面
    JSP简介
    常量与变量的声明与使用
    AJAX无刷新上传图片
    JSP连接MySql数据库
    运算符与表达式
    世界级的javascript ajax client端UI库 Ext学习笔记 menu组件 和 toolbar组件
    OOD/OOA基本原则
    Java字符编码转换过程说明
    正则表达式系统教程
  • 原文地址:https://www.cnblogs.com/duanxz/p/5050177.html
Copyright © 2011-2022 走看看