Java spring ThreadPoolTaskExecutor在每次方法调用时创建新线程

Java spring ThreadPoolTaskExecutor在每次方法调用时创建新线程,java,spring,multithreading,Java,Spring,Multithreading,我有ThreadPoolTaskExecutor的以下配置 <bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10" /> <property name="maxPoolSize" value="25" />

我有ThreadPoolTaskExecutor的以下配置

 <bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value="10" />
    <property name="maxPoolSize" value="25" />
    <property name="queueCapacity" value="30" />
</bean>

如果必须这样做,可以使用
org.springframework.core.task.SimpleAsyncTaskExecutor

<bean id="simpleTaskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor">
   <property name="concurrencyLimit" value="25" />
</bean>

但是创建Java线程是昂贵的。通常建议重用线程,甚至可以说:

注意:此实现不重用线程!考虑线程池TaskExcExtuor实现,而不是特别是用于执行大量的短命任务。


你为什么需要新的线程?重用线程有什么问题?这正是线程池的用途。@M.Prokhorov任务是在新线程中执行SQL,但我不太了解线程,所以不确定如何实现它为什么必须是新线程?
<bean id="simpleTaskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor">
   <property name="concurrencyLimit" value="25" />
</bean>