Avec Objis, spécialiste Java depuis 2005, mettez en oeuvre le framework Executor, disponible depuis Java 5. Comprenez les interfaces Executor, ExecutorService, Future. Maîtrisez l’utilisation de la classe Executors pour créer différent types de Pool de Thread. Découvrez la nouvelle interface ComputableFuture apportée par Java 8, facilitant la gestion de taches asynchones.
Introduction
Objectifs interface Executor :
L’objectif est de découpler:
1) soumission de la tache
2) la création du thread associé à cette tache
Objectif interface ExecutorService :
Gérer le cycle de vie pour Executor : 3 phases
1) initialisation : création de threads et démarrage
2) service (execute la tache)
3) destruction (shutdown + n’accepter plus de tache)
Simplifier travail du Développeur
1) Créer un Executor
2) créer une tache
3) soumettre la tache à l’Exécutor
4) Arréter l’Executor
Interfaces et classes clés
Interface Executor
Interface ExecutorService
Classe Executors
Interface Future
RECOMMANDATIONS
1) Pour des taches asynchrones courtes, sans limites –> Executors.newCachedThreadPool()
2) Pour imposer un nombre fixe de taches Max à un moment donné (le reste dans une Queue) –> Executors.newFixedThreadPool()
3) Pour Executer tache après tache / Jamais deux à la fois (Exemple : Swing Gui EventManager)
Création d’une Tache
Cas 1 : une tache qui ne retourne rien –> créer une classe qui implémente interface Runnable
Cas 2 : une tache qui retourne quelque chose –> créer une classe qui implémente interface Callable
Classe Principale
DEMO
Aller plus loin
FINAL
Professionnels : maîtrisez les nouveautés Java 8 et 9 !
A travers notre nouvelle formation Nouveautés Java 8 et 9 (durée 4 jours) conçue par l’auteur de ce tutoriel, découvrez par la pratique le nouveau système de Modules Java 9 ainsi que des caractéristiques de Java 8 (Streams, Lambda, Optional…).
Un sérieux atout pour votre employabilité et l’évolution de votre carrière professionnelle !