Junior — Middle
Qual é a diferença entre o uso de FixedThreadPool e CachedThreadPool na gestão de threads?
sobes.tech IA
Resposta da IA
FixedThreadPool cria um grupo com um número fixo de threads. Todas as tarefas são executadas por esses threads, e se um thread estiver ocupado, as tarefas são colocadas na fila. Isso é útil quando é necessário limitar o número de threads que trabalham simultaneamente e controlar a carga.
CachedThreadPool cria novos threads conforme necessário e reutiliza os inativos. Se um thread não for usado por um tempo, ele é encerrado. Esse grupo é adequado para uma grande quantidade de tarefas curtas com uma quantidade imprevisível.
Exemplo de criação de grupos em Java:
ExecutorService fixedPool = Executors.newFixedThreadPool(5); // grupo fixo de 5 threads
ExecutorService cachedPool = Executors.newCachedThreadPool(); // grupo com cache
A principal diferença é que o grupo fixo limita o número de threads, enquanto o grupo com cache os cria e os remove dinamicamente.