java - 何时为每个应用程序 java 创建多个执行程序服务

标签 java

什么时候为程序/应用程序的每次运行创建多个执行程序服务是个好主意?为什么要这样做,而不是一开始就启动 executors.newcachedthreadpool() 并将所有可调用项提交给它。

最佳答案

  • 您可能需要不同的风格(比如固定线程池或计划执行器)
  • 封装:如果一个特定的类需要通过一个执行器来运行,那么这个类负责决定它的执行策略是有意义的,这是一个实现细节
  • 特化 - 上一点的必然结果:
    • 有些任务需要很多线程(典型的是网络任务)
    • 而其他人只需要一些(CPU 密集型任务)
    • 有些应该只使用一个(例如,如果您在本地硬盘驱动器上读/写)
  • 当然在某些情况下,您希望将执行程序传递给对象,因为您希望调用代码控制某些任务的执行方式

最重要的是,我想不出为什么对于一个足够大的项目,您只想为整个程序使用一个线程池。

关于java - 何时为每个应用程序 java 创建多个执行程序服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12451420/

相关文章:

java - 应该使用迭代器原始类型吗?

java - 我们可以在同一阶段拥有多个 CXF 拦截器吗

java - 这是原始包装类的正确用法吗?

java - 如何将行动态添加到 ListView ?

多进程fitnesse测试环境中的Java OOM

java - 在我的 printArray 方法中查看数组

java - 如何在 Mockito 单元测试中摆脱 NullPointerException

java - 如何将 String.split 与文本文件一起使用以添加到简单数组

java - 为什么ArrayList总是返回最后一个对象?

java - 如果使用特定方法如何构建失败?