首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何识别正确的java执行者?

如何识别正确的java执行者?
EN

Stack Overflow用户
提问于 2013-06-24 21:26:21
回答 2查看 73关注 0票数 1

我们需要做一些异步任务处理,其中大约30-40个请求将同时到来,每个请求将启动一个异步任务,大约需要7-8秒才能完成。

如果java executorservice已被确定为执行此类任务,那么用于此目的的空闲类型的执行器是什么?

我想过使用CachedThreadPool,但我担心的是,如果创建了太多的线程,是否会对应用程序的性能产生影响?

另一种选择是使用FixedThreadPool,但我正在努力考虑一个空闲的无线程,它应该用来实例化……对于这样的场景,推荐的执行者是什么?或者我们如何找到正确的执行者?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-24 21:39:41

我想过使用CachedThreadPool,但我担心的是,如果创建了太多的线程,会不会对应用程序的性能产生影响?

您需要测试应用程序的性能影响。如果它们都不适合应用程序或者有一些问题,那么您可以使用定制的线程池执行器java.util.concurrent.ThreadPoolExecutor

您可以根据需要进行自定义,配置核心池大小,配置阻塞队列。将使用阻塞队列,当池大小达到时,任务将排队。

票数 0
EN

Stack Overflow用户

发布于 2013-06-24 21:37:18

我认为您的研究仅限于Executors.*工厂方法。你应该回顾一下ThreadPoolExecutor的构造函数的范围,你会发现线程池的最大大小限制等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17276648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档