我有一些 Quartz 计划的作业,这些作业是 IO 密集型的,并且很容易分解为多个任务。
多亏了 Spring,作业在 tomcat Web 容器中被实例化和调度。
如果我在 Job 类和 Java EE 容器中使用java.util.concurrent API 可以吗?
我可以通过使用FixedThreadPool并调整其大小并放弃一些内核(如本例中的两个)来与 Tomcat 共享逻辑处理器吗?
int numberOfCores = Runtime.getRuntime().availableProcessors();
final int poolSize = numberOfCores - 2 // Give away Two slots for TOMCAT
final ExecutorService executorPool = Executors.newFixedThreadPool(poolSize);