Sewatech - formations

Programmation parallèle et concurrente en Java

En programmation Web, avec Java EE ou Spring Framework, l’essentiel de l’aspect multi-tâches est caché au développeur. Mais lorsqu’il s’agit de développer des batchs ou des traitements massifs, il faut souvent revenir aux racines des Threads et des fonctionnalités du JDK.

Dans cette formation, on commence pas manipuler les threads de façon brute, comme en 1999, puis on voit les différentes classes et possibilités offertes par le JDK pour faciliter le développement.

Programme du cours

Introduction

  • Les bénéfices des traitements parallèles

  • Les risques liés aux accès concurrents

Premiers pas

  • La classe Thread

  • Les tâches Runnable

  • Les techniques de blocage de thread

  • Comment interrompre un thread ?

  • La gestion des erreurs

Gestion moderne des threads

  • Le framework Executor

  • Les pools de threads

  • Les tâches Callable, le Future

  • L’interruption de Threads gérés

  • Le pool de Fork / Join

  • La planification de tâches

  • La programmation de style reactive, avec CompletableFuture

Accès concurrents

  • Problèmes d’accès concurrent aux données et ressources

  • Les attributs volatile

  • Le dead locks, leur détection

  • Les objets atomiques

  • Les techniques avancées de blocage : barrières et loquets

  • Les collections concurrentes

  • Les collections et les streams parallèles

  • Les traitements parallèles avec les tableaux


Cette formation peut être réalisée à distance ou dans vos locaux en France et Suisse Romande.

Cette formation a été élaborée par Alexis Hassler.