什么时候为程序/应用程序的每次运行创建多个执行程序服务是个好主意?为什么要这样做,而不是一开始就启动 executors.newcachedthreadpool()
并将所有可调用项提交给它。
最佳答案
- 您可能需要不同的风格(比如固定线程池或计划执行器)
- 封装:如果一个特定的类需要通过一个执行器来运行,那么这个类负责决定它的执行策略是有意义的,这是一个实现细节
- 特化 - 上一点的必然结果:
- 有些任务需要很多线程(典型的是网络任务)
- 而其他人只需要一些(CPU 密集型任务)
- 有些应该只使用一个(例如,如果您在本地硬盘驱动器上读/写)
- 当然在某些情况下,您希望将执行程序传递给对象,因为您希望调用代码控制某些任务的执行方式
最重要的是,我想不出为什么对于一个足够大的项目,您只想为整个程序使用一个线程池。
关于java - 何时为每个应用程序 java 创建多个执行程序服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12451420/