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);


  • 相关阅读:
    servlet配置restful
    Servlet异步上传文件
    JQuery全选Prop(“check”,true)和attr("attr",true)区别
    登录FTP,下载并读取文件内容
    Get请求中文乱码的几种解决方式
    系统架构概念及思想2
    系统架构概念及思想1
    Harbor高可用
    Harbor基础
    Docker原理及使用
  • 原文地址:https://www.cnblogs.com/duanxz/p/5050177.html
Copyright © 2011-2022 走看看