Im Fall ScheduledThreadPoolExecutor
ist corePoolSize
die maximale Anzahl von Threads, die erstellt werden, um geplante Aktionen auszuführen. Dieser Thread-Pool hat eine feste Größe, und inaktive Threads werden beibehalten.
Antwort Drunkenrabbit ist einfach ivalid weil ScheduledThreadPoolsExecutor
docs sagt, dass ausdrücklich (es gibt überhaupt keine Gewinde coun Spikes sein):
Während diese Klasse von ThreadPoolExecutor erbt, einige der geerbt Tuning Methoden sind nicht nützlich für sie. Insbesondere , weil es als ein Pool fester Größe mit corePoolSize Threads und eine unbegrenzte Warteschlange, wirkt Anpassungen an maximumPoolSize haben keinen nützlichen Effekt.
Jetzt wie für den Wert, würde sinnvolle Anzahl von CPU-Kernen sein, auf denen Anwendung läuft.
Zum Vergleich: http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html#ScheduledThreadPoolExecutor(int) –