Junior — Middle
Quelles implémentations de l'interface ExecutorService connais-tu et en quoi diffèrent-elles?
sobes.tech IA
Réponse de l'IA
ExecutorService est une interface pour gérer un pool de threads et l'exécution asynchrone de tâches. Les principales implémentations de la bibliothèque standard Java :
- ThreadPoolExecutor — l'implémentation la plus flexible et couramment utilisée, permet de configurer la taille du pool, la file d'attente des tâches, la politique de gestion de surcharge.
- ScheduledThreadPoolExecutor — une extension de ThreadPoolExecutor, supporte la planification de tâches avec délai ou exécution périodique.
- ForkJoinPool — destiné aux tâches pouvant être divisées en sous-tâches (utilisé dans le cadre Fork/Join), efficace pour les calculs parallèles.
Différences :
- ThreadPoolExecutor convient à un usage général.
- ScheduledThreadPoolExecutor — pour les tâches avec temporisateurs.
- ForkJoinPool — pour le parallélisme récursif.
Exemple de création de ThreadPoolExecutor :
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Tâche terminée"));
executor.shutdown();