wählen Pool Ich habe eine Reihe von Aufgaben:Welche von Java Util gleichzeitig
public class ProcessDay implements Runnable{
@Override
public void run(){
List<ProcessHour> hr = //required hours
//do some post actions
}
}
public class ProcessHour implements Runnable{
@Override
public void run(){
List<ProcessMinutes> mins = //required minutes
//do some post actions
}
}
ProcessSeconds
, ProcessMonth
, ... etc Und so weiter. Es wäre praktisch, hier ForkJoinPool
zu verwenden, aber es ist vom Standpunkt der Leistung aus nicht gut, weil ProcessXXX
Aufgaben einem Cluster von Maschinen übergeben werden und daher der Methodenaufruf selbst sehr kurz ist.
Also für die Leistung ist es gut, Executors.cachedThreadPoolExecutor
zu verwenden. Aber gibt es eine Möglichkeit, ForkJoinPool mit chachedThreadPool semantic zu kombinieren. Ich meine Threads bei Bedarf erstellen und sie freigeben, wenn sie nicht verwendet werden.
Vielleicht gibt es einen besseren Ansatz dazu? Kannst du etwas vorschlagen?