Sobes.tech
Junior — Middle

Como organizar a execução de uma tarefa usando ThreadPoolExecutor?

sobes.tech IA

Resposta da IA

Para realizar uma tarefa usando ThreadPoolExecutor em Java, é necessário criar um pool de threads e passar-lhe tarefas para execução. Isto permite gerir eficazmente o número de threads a trabalhar simultaneamente e reutilizá-los.

Exemplo:

import java.util.concurrent.*;

public class ThreadPoolExample {
    public static void main(String[] args) {
        // Criar um pool de 3 threads
        ExecutorService executor = Executors.newFixedThreadPool(3);

        Runnable task = () -> {
            System.out.println("Tarefa a ser executada na thread " + Thread.currentThread().getName());
        };

        // Enviar tarefas ao pool
        for (int i = 0; i < 5; i++) {
            executor.submit(task);
        }

        // Encerrar o pool
        executor.shutdown();
    }
}

Aqui, Executors.newFixedThreadPool cria um pool com um número fixo de threads. O método submit adiciona tarefas à fila para execução. Após chamar shutdown, o pool deixa de aceitar novas tarefas, mas termina as já em execução.