Junior — Middle
Que implementações da interface ExecutorService conhece e em que se diferenciam?
sobes.tech IA
Resposta da IA
ExecutorService é uma interface para gerir um grupo de threads e a execução assíncrona de tarefas. As principais implementações da biblioteca padrão Java:
- ThreadPoolExecutor — a implementação mais flexível e frequentemente usada, permite configurar o tamanho do grupo, a fila de tarefas, a política de gestão de sobrecarga.
- ScheduledThreadPoolExecutor — uma extensão do ThreadPoolExecutor, suporta o planeamento de tarefas com atraso ou execução periódica.
- ForkJoinPool — destinado a tarefas que podem ser divididas em subtarefas (usado no framework Fork/Join), eficiente para cálculos paralelos.
Diferenças:
- ThreadPoolExecutor é adequado para uso geral.
- ScheduledThreadPoolExecutor — para tarefas com temporizadores.
- ForkJoinPool — para paralelismo recursivo.
Exemplo de criação de ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Tarefa concluída"));
executor.shutdown();