Spring ThreadPoolTask​​Executor vs Java Executorservice cachedthreadpool

Bal*_*laB 26 java concurrency spring

使用的优点和缺点是什么?

Spring ThreadPoolTask​​Executor vs Java Executorservice cachedthreadpool尽管spring是Java并发的包装器.

只是想知道使用它们的灵活性.

Pra*_*kam 14

使用Spring的ThreadPoolTask​​Executor的一个额外优点 是它非常适合管理和监视(例如通过JMX),提供了几个有用的属性:"corePoolSize","maxPoolSize","keepAliveSeconds"(所有支持运行时的更新); "poolSize","activeCount".

除此之外,如果您已在应用程序中实施弹簧注射,则使用起来非常简单.通过使用它你可以通过setter注入直接注入线程池,如下所示:

<bean id="taskExecutor"
    class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value="5" />
    <property name="maxPoolSize" value="10" />
    <property name="WaitForTasksToCompleteOnShutdown" value="true" />
</bean> 
Run Code Online (Sandbox Code Playgroud)

ThreadPoolTask​​Executor Doc

另一方面,ExecutorService CachedThreadPool是分享你最近使用不足的线程(60秒以下)的好工具.重要的是要指出CachedThreadPool不是单独的类方法(newCachedThreadPool()).

CachedThreadPool Doc