spring之多线程使用

public class ThreadPoolUtil {
	
	private static Logger logger = LogDefault.getLogger("【线程池】 ");
	private static ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();
	
	static{
		//线程池所使用的缓冲队列  
		poolTaskExecutor.setQueueCapacity(Integer.parseInt(PropertyUtil.getTaskValue("queueCapacity")));  
		//线程池维护线程的最少数量  
		poolTaskExecutor.setCorePoolSize(Integer.parseInt(PropertyUtil.getTaskValue("corePoolSize")));  
		//线程池维护线程的最大数量  
		poolTaskExecutor.setMaxPoolSize(Integer.parseInt(PropertyUtil.getTaskValue("maxPoolSize")));  
		//线程池维护线程所允许的空闲时间  
		poolTaskExecutor.setKeepAliveSeconds(Integer.parseInt(PropertyUtil.getTaskValue("kepAliveSeconds")));  
		poolTaskExecutor.initialize();  
	}
	
	public static void execute(Thread thread){
		poolTaskExecutor.execute(thread);
		logger();
	}
	
	public static void execute(Runnable runnable){
		poolTaskExecutor.execute(runnable);
		logger();
	}
	
	private static void logger(){
		logger.info("当前活动线程数量:"+ poolTaskExecutor.getActiveCount());
	}
	
}

猜你喜欢

转载自wangxinhong4468.iteye.com/blog/2235485