In caso di ScheduledThreadPoolExecutor
, corePoolSize
è il numero massimo di thread che saranno creati per eseguire azioni programmate. Questo pool di thread è di dimensioni fisse e i thread inattivi sono mantenuti in vita.
risposta di DrunkenRabbit è semplicemente ivalid perché ScheduledThreadPoolsExecutor
docs dice esplicitamente che (Non ci sarà nessun filo Coun picchi a tutti):
Mentre questa classe eredita da ThreadPoolExecutor, alcuni dei metodi di sintonia ereditati non sono utile per questo. In particolare, perché funge da pool di dimensioni fisse utilizzando i thread corePoolSize e una coda senza limiti, le rettifiche a maximumPoolSize non hanno alcun effetto utile.
Ora come per il valore, il numero ragionevole sarebbe il numero di core CPU su cui è in esecuzione l'applicazione.
Per riferimento: http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html#ScheduledThreadPoolExecutor(int) –