Sobes.tech
Junior — Middle

Comment implémenter un pool de threads pour exécuter des tâches dans votre application?

sobes.tech IA

Réponse de l'IA

Pour implémenter un pool de threads dans une application Android, vous pouvez utiliser la classe ThreadPoolExecutor de Java ou Kotlin.

Exemple en Kotlin utilisant Executors.newFixedThreadPool :

import java.util.concurrent.Executors

// Création d'un pool de 4 threads
val threadPool = Executors.newFixedThreadPool(4)

// Envoi de tâches pour exécution
threadPool.execute {
    // Code de la tâche 1
    println("Tâche 1 en cours d'exécution dans le thread ${Thread.currentThread().name}")
}

threadPool.execute {
    // Code de la tâche 2
    println("Tâche 2 en cours d'exécution dans le thread ${Thread.currentThread().name}")
}

// Après la fin du travail, le pool doit être correctement fermé
threadPool.shutdown()

Si vous utilisez Kotlin Coroutines, vous pouvez utiliser Dispatchers.IO ou créer votre propre pool de threads avec newFixedThreadPoolContext.

Un pool de threads permet de limiter le nombre de threads qui travaillent simultanément, ce qui aide à utiliser efficacement les ressources et à éviter de créer un nombre excessif de threads.