Spring ThreadPoolTaskExecutor线程池

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方法

Spring ThreadPoolTaskExecutor线程池_第1张图片

3:线程接口(ResponseQueueThread)

Spring ThreadPoolTaskExecutor线程池_第2张图片

到此结束,哈哈,很简单,欢迎各种吐槽,有更好的还请推荐,thank you!谢谢


你可能感兴趣的:(线程池,spring线程池)