我想知道ThreadPoolTask​​Executor和ThreadPoolExecutor之间的主要区别。我应该选择哪一个?为什么?

最佳答案

请查看文档链接以清楚地了解它们之间的差异。

ThreadPoolExecutor


一个ExecutorService,它使用可能是多个池线程中的一个执行每个提交的任务,通常使用Executors工厂方法进行配置。


线程池解决了两个不同的问题:由于减少了每个任务的调用开销,它们通常在执行大量异步任务时提供改进的性能,并且它们提供了一种绑定和管理资源(包括线程)的方法,这些资源在执行集合时消耗掉了。任务。

ThreadPoolTaskExecutor

允许以bean样式(通过其“ corePoolSize”,“ maxPoolSize”,“ keepAliveSeconds”,“ queueCapacity”属性)配置ThreadPoolExecutor并将其作为Spring TaskExecutor公开的JavaBean。

此类也非常适合管理和监视(例如通过JMX),提供了一些有用的属性:“ corePoolSize”,“ maxPoolSize”,“ keepAliveSeconds”(均支持运行时更新); “ poolSize”,“ activeCount”(仅用于自省)。

关于java - 区别并建议ThreadPoolTask​​Executor和ThreadPoolExecutor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39934115/

10-10 18:11