Sobes.tech
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();