Sobes.tech
Junior — Middle

Quelle est la différence entre l'utilisation d'ExecutorService et la création de nouveaux threads via la classe Thread?

sobes.tech IA

Réponse de l'IA

L'utilisation de ExecutorService en Java diffère de la création directe de threads via la classe Thread de la manière suivante :

  • Gestion du pool de threads : ExecutorService permet de créer un pool de threads et de le réutiliser pour exécuter plusieurs tâches, ce qui réduit les coûts liés à la création et à la destruction de threads.
  • Gestion du cycle de vie : ExecutorService offre des méthodes pour terminer proprement, attendre la fin des tâches et gérer la file d'attente des tâches.
  • Simplification du code : Au lieu de créer et lancer manuellement des threads, on peut simplement soumettre des tâches à ExecutorService, qui les répartira entre les threads.

Exemple :

ExecutorService executor = Executors.newFixedThreadPool(3);
executor.submit(() -> {
    System.out.println("La tâche s'exécute dans le pool de threads");
});
executor.shutdown();

Contrairement à cela, avec Thread, il faut créer et lancer chaque thread manuellement, ce qui est moins efficace et plus encombrant.