spring给我们提供了非常简便的线程池管理的包装类ThreadPoolTaskExecutor,本地启动一个为异步任务创建线程池的方法:
1<bean id="threadPoolTaskExecutor"
2 class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
3 <property name="corePoolSize" value="5" />
4 <property name="maxPoolSize" value="10" />
5 <property name="queueCapacity" value="25" />
6 </bean>
2 class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
3 <property name="corePoolSize" value="5" />
4 <property name="maxPoolSize" value="10" />
5 <property name="queueCapacity" value="25" />
6 </bean>
corePoolSize:默认开启线程数;maxPoolSize:最大线程数;queueCapacity:缓冲任务队列的长度;
创建线程的方式:
1threadPoolTaskExecutor.execute(new Runnable() {
2 public void run() {
3 //异步任务
4 }
5 });
2 public void run() {
3 //异步任务
4 }
5 });