Java - Programmation multithread

Formation créée le 10/01/2023. Dernière mise à jour le 20/03/2023.
Version du programme : 1

Type de formation

Formation à distance

Durée de formation

28 heures (4 jours)

Java - Programmation multithread


Objectif de formation : Obtenir une expertise sur le développement Java

Objectifs de la formation

  • Comprendre les modèles de programmation multithread & les librairies standards correspondantes
  • Appréhender les structures de données basiques employées pour la programmation multithread
  • Maîtriser les principaux bugs & détenir un aperçu des solutions
  • Maîtriser les outils de test & débogage
  • Connaître les liens entre la programmation multithread & les performances

Profil des bénéficiaires

Pour qui
  • Développeurs
  • Architectes logiciels
  • Chefs de projets
Prérequis
  • Notions en Java
  • Connaissances sur l'utilisation d'un IDE

Contenu de la formation

Premiers pas avec la programmation multithread : modèles, interfaces & classes de programmation
  • Notions de base
  • Mises en œuvre des concepts
  • Exceptions non catchées & groupes de threads
  • Futur complétable
  • Travaux pratiques : Programmation d’une application combinant les différents modèles.
Impératif sur le fonctionnement naturel des activités
  • Tour d'horizon des méthodes formelles de spécifications
  • Méthode semi-formelle de spécification
  • Mise en place des spécifications
  • Travaux pratiques : utilisation de méthodes formelles de spécifications
Synchronisation & communication des threads
  • Présentation des status "synchronized", "wait", "notify" & la programmation de moniteurs
  • Interfaces & classes de synchronisation
  • Queue
  • Travaux pratiques : mise en oeuvre des interfaces et classes de synchronisation
Déploiement de tâches en parallèle
  • ExecutorService
  • Modèle fork/join
  • Travaux pratiques : mise en oeuvre des services d’exécution et du modèle fork/join
Structures de données dédiées à la programmation multithread
  • Collections spécialisées
  • Stockage local des données de thread
  • Classes Atomic
  • Travaux pratiques : mise en oeuvre des structures de données
Threads & performances
  • Modification de la performance suite à la création de threads
  • Modification de la performance suite à la synchronisation
  • Modification de la performance dûe à la caches mémoire
  • Threads et les IO, les BD et le graphique
  • Threads & ordonnancement
  • Travaux pratiques : Optimisation des programmes
Modèles alternatifs
  • Modèles asynchrones
  • Modèles d'acteurs
  • Modèles réactifs synchrones
Outils liés à la création de programmes concurrents
  • JConsole & jstack
  • Librairie JArmus
  • Logique temporelle de Lamport
  • Tour d'horizon des erreurs courantes

Équipe pédagogique

Professionnel expert technique et pédagogique.

Suivi de l'exécution et évaluation des résultats

  • Émargement numérique
  • Mises en situation
  • Formulaires d’évaluation de la formation
  • Certificat de réalisation de l’action de formation

Ressources techniques et pédagogiques

  • Espace intranet de formation
  • Documents supports de formation projetés
  • Exposés théoriques
  • Étude de cas concrets
  • Mise à disposition en ligne de documents supports à la suite de la formation

Qualité et satisfaction

Taux de satisfaction des apprenants, nombre d'apprenants, taux et causes des abandons, taux de retour des enquêtes, taux d'interruption en cours de prestation...