Sobes.tech
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();