Spring线程池使用方法

基础的new Thread存在以下几种弊端:

  • new Thread新建对象性能差
  • 线程缺乏统一管理,如无限新建线程、线程相互竞争等
  • 对线程控制性弱,如线程中断、线程定时执行等

相比new Thread,线程池有以下几种优点:

  • 可重用存在的线程,减少线程创建消亡开销
  • 可控制线程最大并发数
  • 提供方便的线程中断、线程定时执行等功能

本文介绍Spring线程池的简单使用

1:在Spring的配置文件(如spring.xml)中增加线程配置

<beanid="threadPoolTaskExecutor"class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<propertyname="corePoolSize"value="5"/>
<propertyname="maxPoolSize"value="50"/>
<propertyname="queueCapacity"value="200"/>
<propertyname="waitForTasksToCompleteOnShutdown"value="true"/>
</bean>

2:使用类中增加bean注入

@Resource
privateThreadPoolTaskExecutor threadPoolTaskExecutor;

3:根据场景使用线程池

threadPoolTaskExecutor.execute(newRunnable(){
publicvoidrun(){
try{
 Tools.sendEmail(user, EmailRequestType.SEND_REGISTER);
 } catch(MessagingException e) {
 e.printStackTrace();
 } catch(UnsupportedEncodingException e) {
 e.printStackTrace();
 }
 }
});
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章