Sobes.tech
Junior — Middle

Como implementar um pool de threads para executar tarefas na sua aplicação?

sobes.tech IA

Resposta da IA

Para implementar um pool de threads numa aplicação Android, pode usar a classe ThreadPoolExecutor do Java ou Kotlin.

Exemplo em Kotlin usando Executors.newFixedThreadPool:

import java.util.concurrent.Executors

// Criar um pool de 4 threads
val threadPool = Executors.newFixedThreadPool(4)

// Enviar tarefas para execução
threadPool.execute {
    // Código da tarefa 1
    println("Tarefa 1 está a ser executada no thread ${Thread.currentThread().name}")
}

threadPool.execute {
    // Código da tarefa 2
    println("Tarefa 2 está a ser executada no thread ${Thread.currentThread().name}")
}

// Após terminar o trabalho, o pool deve ser encerrado corretamente
threadPool.shutdown()

Se estiver a usar Kotlin Coroutines, pode usar Dispatchers.IO ou criar o seu próprio pool de threads com newFixedThreadPoolContext.

Um pool de threads permite limitar o número de threads que trabalham simultaneamente, ajudando a usar os recursos de forma eficiente e a evitar criar um número excessivo de threads.