Junior — Middle
Como pode configurar um pool de threads para evitar a criação de threads desnecessárias?
sobes.tech IA
Resposta da IA
Para evitar a criação de threads desnecessários no pool de threads, é necessário configurar corretamente os parâmetros do pool:
- Definir um número fixo ou limitado máximo de threads. Por exemplo, usar
Executors.newFixedThreadPool(n), ondené o número de threads que podem trabalhar simultaneamente. - Usar uma fila de tarefas com limite de tamanho, para que as novas tarefas não criem threads adicionais além do limite.
- Configurar a política de tratamento de tarefas em caso de transbordamento da fila (por exemplo, rejeição ou espera), para evitar criar novos threads.
- Usar
ThreadPoolExecutorcom os parâmetros corePoolSize e maximumPoolSize iguais, para que o pool não se expanda além do tamanho definido.
Exemplo de criação de um pool de threads fixo em Android/Java:
ExecutorService executor = Executors.newFixedThreadPool(4); // máximo 4 threads