在我的实践中,我开发的软件变得庞大而复杂的情况并不少见,并且它的各个部分都以自己的方式使用执行器。从性能的角度来看,最好在每个部分使用不同的线程池配置。但从可维护性和代码可用性的角度来看,如果所有与线程、并发性和 CPU 利用率相关的东西都保存在某个集中位置并进行配置,那将是更可取的。
让每个需要并发执行或调度的类创建自己的线程池是不行的,因为很难控制它们的生命周期和线程总数。
创建某种ExecutorManager并在应用程序周围传递一个线程池也不行,因为根据任务的类型和提交率,工作队列和线程池大小的不适当配置组合会损害性能非常糟糕。
所以问题是:有一些通用的方法可以解决这个问题吗?