oneCoderToRuleThemAll:
Existe uma diferença entre a configuração de um pool de threads usando as seguintes configurações:
Executors.newFixedThreadPool(50);
versus fazer:
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(50);
executor.setThreadNamePrefix("thread-pool");
executor.initialize();
Eu não estou interessado em configurar o pool de threads durante a execução (que é Acho que o principal motor para o uso ThreadPoolTaskExecutor
).
Charles Dowbecki:
No seu exemplo de Primavera do ThreadPoolTaskExecutor
criará um ThreadPoolExecutor
com corePoolSize
de 50, maxPoolSize
deInteger.MAX_VALUE
e keepAlive
de 60 segundos .
Enquanto isso Executors.newFixedThreadPool(50)
irá definir tanto corePoolSize
e maxPoolSize
a 50 e keepAlive
de 0 segundos (ver código-fonte Java).