Ich möchte die maxPool-Größe und keepAliveTime manuell einstellen. Kann aber nur eingestellt werden, während der folgende Code ausgeführt wird
ExecutorService executorService =
new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
Die ExecutorService-Klasse hat keine derartige Methode "scheduleAtFixedRate (..)". Daher muss ich nur die ScheduledThreadPoolExecutor-Klasse verwenden, die die Methode schedAtFixedRate (..) hat. Wenn ich die ScheduledThreadPoolExecutor-Klasse verwende, kann ich sie nicht wie unten manuell festlegen (siehe unten) Code ist nicht richtig. Nur zum Beispiel)
ScheduledExecutorService schedule =
new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
(oder)
ScheduledThreadPoolExecutor schedule =
new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
Gibt es eine Möglichkeit, manuell einzustellen? Vielen Dank
Sie können es so einstellen:
final int corePoolSize = 10;
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(corePoolSize);
executor.setMaximumPoolSize(10);
executor.setKeepAliveTime(10, TimeUnit.SECONDS);
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen