Formation en Développement: Java - Programmation multithread - Ascent Formation
Retour aux formations
Développement

Java - Programmation multithread

4 jour(s)28h

Description

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

Objectifs pédagogiques

  • 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

Public concerné

Développeurs
Architectes logiciels
Chefs de projets

Prérequis

Notions en Java
Connaissances sur l'utilisation d'un IDE

Déroulé du programme

1

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.
2

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
3

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
4

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
5

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
6

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
7

Modèles alternatifs

  • Modèles asynchrones
  • Modèles d'acteurs
  • Modèles réactifs synchrones
8

Outils liés à la création de programmes concurrents

  • JConsole & jstack
  • Librairie JArmus
  • Logique temporelle de Lamport
  • Tour d'horizon des erreurs courantes

Informations

Durée

4 jour(s)

28h

Tarif

2380 € HT

HT