Spring線程池
?配置:
<bean id ="taskExecutor" class ="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" >
<property name ="corePoolSize" value ="5" /> <!--核心線程數 -->
<property name ="keepAliveSeconds" value ="3000" /> <!-- 某線程空閑超過這個時間,就回收該線程 -->
<property name ="maxPoolSize" value ="10" /> <!--最大線程數 -->
<property name ="queueCapacity" value ="1000" /> <!-- 隊列大小 -->
<property name= "rejectedExecutionHandler" >
<!-- AbortPolicy:直接拋出java.util.concurrent.RejectedExecutionException異常 -->
<!-- CallerRunsPolicy:主線程直接執行該任務,執行完之後嘗試添加下一個任務到線程池中,可以有效降低向線程池內添加任務的速度 -->
<!-- DiscardOldestPolicy:拋棄舊的任務、暫不支持;會導致被丟棄的任務無法再次被執行 -->
<!-- DiscardPolicy:拋棄當前任務、暫不支持;會導致被丟棄的任務無法再次被執行 -->
<bean class = "java.util.concurrent.ThreadPoolExecutor$DiscardPolicy" />
</property>
</bean>
Spring線程池