- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
使用的优缺点是什么
Spring ThreadPoolTaskExecutor与 Java Executorservice cachedthreadpool
即使 spring 是 Java 并发的包装器。
只是想知道使用它们的灵 active 。
最佳答案
使用spring的ThreadPoolTaskExecutor的一个附加优势是它非常适合管理和监控(例如通过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>
另一方面,ExecutorService CachedThreadPool 是一个很好的实用程序,可以分享您最近使用不足的线程(Under 60 seconds)。重要的是要指出 CachedThreadPool 不是单独的类它的方法(newCachedThreadPool())。
关于java - Spring ThreadPoolTaskExecutor vs Java Executorservice cachedthreadpool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24903658/
我需要做一些多线程工作,我使用 ExecutorService.newCachedThreadPool() 并提交一些从队列中检索到的作业。 public class ContentParser {
我正在玩线程,但我不明白为什么这没有像我想象的那样工作。 我正在尝试使用线程计算总和,并期望线程池在打印结果时等待所有任务完成(由于 shutdown() 调用和 isTermination() 检查
我对我的应用程序进行了负载测试,以找出支持计划负载所需的最大线程数。 我使用了 ExecutorService CachedThreadPool 以便根据负载动态创建线程。现在我使用 getLarge
我想知道在这个特定场景中使用哪个 CachedThreadPool 或 FixedThreadPool。当用户登录到应用程序时,将获得大约 10 个地址的地址列表。我需要执行以下操作: 将地址转换为我
下面的线程每 12-24 小时运行一次,我不希望池中有空闲线程。当前代码是: private final ScheduledExecutorService scheduler = Executors.
想象一个需要时间的软件,它接收一堆文本文件(每个 100+ MB),处理它们并放入数据库。我试图通过利用更多核心(这台机器恰好是 8 个,带有超线程的四核 i7)来对其进行一些优化。 考虑以下代码:
我们正在使用通过 ExecutorService#newCachedThreadPool 创建的 CachedThreadPool。 (Java 1.6)。我们在代码的其他地方遇到错误:“无法创建新的
我目前有执行以下操作的代码: private final static ExecutorService pool = Executors.newCachedThreadPool(); public v
我在 CodeReview 中问过这个问题,但它已关闭。 对于一项学校作业,我必须创建 54 个从 Executors.newCachedThreadPool() 同时运行的线程。写入 JTextAr
我有一个服务器,它不断监听客户端连接,并在每次客户端连接时创建一个新线程来处理该客户端的 I/O。现在,我有多个实现 Runnable 的类,并且在 run 方法中有一个 while 循环,该循环一直
这是缓存的线程池: new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue()
我有许多任务,对于大多数任务,我想以不同的速率定期执行。不过,有些任务可能会安排同时执行。此外,一个任务可能需要在另一个任务当前正在执行时开始执行。 我还想通过为每个任务设置一个对象来自定义每个任务,
这个问题在这里已经有了答案: Implementation of BlockingQueue: What are the differences between SynchronousQueue a
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 8 年前。 Improve
我有一个程序可以生成线程 (~5-150) 来执行一堆任务。最初,我使用 FixedThreadPool 因为 this similar question建议它们更适合生命周期更长的任务,并且由于我对
我是一名优秀的程序员,十分优秀!