ps:文章转载自:https://my.oschina.net/jgy/blog/472845
1:首先配置线程池(在spring配置文件中配置,我是在applicationContext.xml中配置的)
<!-- 异步线程池 -->
<bean id="taskExecutor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<!-- 核心线程数 -->
<property name="corePoolSize" value="5" />
<!-- 最大线程数 -->
<property name="maxPoolSize" value="10" />
<!-- 队列最大长度 >=mainExecutor.maxSize -->
<property name="queueCapacity" value="100" />
<!-- 线程池维护线程所允许的空闲时间 -->
<property name="keepAliveSeconds" value="3000" />
<!-- 线程池对拒绝任务(无线程可用)的处理策略 -->
<property name="rejectedExecutionHandler">
<bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" />
</property>
</bean>
2:就是注入taskExecutor并且使用
直接把线程丢到线程池中,线程池会控制何时启动它,会自动调用它的RUN方法
3:线程接口(ResponseQueueThread)
到此结束,哈哈,很简单,欢迎各种吐槽,有更好的还请推荐,thank you!谢谢
后面我用JUNIT做测试发邮件发现有点问题,感觉还没调用spring结束就没发出去,后面我手动调run方法又好了,然后正规写道spring里面没问题。