java - Spring ThreadPoolTask​​Executor vs Java Executorservice cachedthreadpool

标签 java spring concurrency

使用的优缺点是什么

Spring ThreadPoolTaskExecutor与 Java Executorservice cachedthreadpool 即使 spring 是 Java 并发的包装器。

只是想知道使用它们的灵 active 。

最佳答案

使用spring的ThreadPoolTask​​Executor的一个附加优势是它非常适合管理和监控(例如通过JMX),提供了几个有用的属性:“corePoolSize”、“maxPoolSize”、“keepAliveSeconds”(所有支持在运行时更新); “poolSize”、“activeCount”。

除此之外,如果您已经在应用程序中实现了 Spring 注入(inject),那么它显然很容易使用。通过使用它,您可以通过 setter 注入(inject)直接注入(inject)线程池,如下所示:

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

ThreadPoolTaskExecutor Doc

另一方面,ExecutorService CachedThreadPool 是一个很好的实用程序,可以分享您最近使用不足的线程(Under 60 seconds)。重要的是要指出 CachedThreadPool 不是单独的类 它的方法(newCachedThreadPool())。

CachedThreadPool Doc

关于java - Spring ThreadPoolTask​​Executor vs Java Executorservice cachedthreadpool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24903658/

相关文章:

java - java的奇怪行为

java - 在 Java 中何时使用原始类型以及何时使用引用类型

ruby-on-rails - 我应该在每次操作的基础上将高速率用户操作发布到我的服务器,还是在 session 关闭后发送一批事件?

python - 安全的原子文件复制操作

java - 使用 TokenAwarePolicy 和 shuffleReplicas 的 Cassandra 负载平衡

java - 无法在 SPRING 中将类型 'java.lang.String' 的值转换为所需类型 'java.lang.Long'

java - Spring MVC : Using @Autowire is getting references to different spring bean instances

java - Spring cloud config - 加载附加文件

java - 我应该在 ReferenceQueue 上同步吗?

java - JTextField - 将边框重置为系统默认值