Concurrence en Java : Multithreading, parallélisme et asynchronisme en pratique
300 pages
French
PDF
4.5

Concurrence en Java : Multithreading, parallélisme et asynchronisme en pratique

Concurrence en Java : Multithreading, parallélisme et asynchronisme en pratique

Auteur :

Année :

Résumé :

Les applications modernes doivent être rapides et réactives. Mais écrire du code multithread correct est l'une des tâches les plus difficiles en programmation. Les courses de données, les interblocages, les problèmes de visibilité et de performance guettent le développeur à chaque étape. Le livre « Concurrence en Java » est un guide pratique qui vous aidera à maîtriser tous les aspects de la programmation parallèle en Java : des outils classiques de bas niveau aux abstractions modernes de haut niveau et aux possibilités expérimentales du Project Loom.



De quoi parle ce livre ?

Le livre est construit sur le principe « du simple au complexe ». Vous commencerez par les bases : qu'est-ce qu'un thread (Thread), comment le créer et le lancer, quels problèmes surviennent lors du travail avec des données partagées. Ensuite, vous plongerez dans le monde de la synchronisation : synchronized, volatile, java.util.concurrent.locks et les classes atomiques. Puis vous étudierez les pools de threads (ExecutorService, ForkJoinPool), apprendrez à gérer efficacement les tâches et à éviter les « fuites de threads ». Des chapitres entiers sont consacrés à :

  • CompletableFuture et la programmation asynchrone — la construction de pipelines de traitement de données non bloquants.
  • Les streams et les collections parallèles — l'utilisation sécurisée de Stream.parallel() et ConcurrentHashMap.
  • Le test du code multithread — les utilitaires, les patrons (Awaitility, Thread Weaver) et les erreurs typiques.
  • Project Loom (threads virtuels) — une nouvelle approche de la concurrence qui promet de simplifier l'écriture d'applications serveur évolutives.


À qui s'adresse ce livre ?

Cet ouvrage sera utile :

  • Aux développeurs juniors qui connaissent déjà la syntaxe Java et souhaitent comprendre comment fonctionne le multithreading.
  • Aux développeurs intermédiaires qui rencontrent des bugs en production et souhaitent systématiser leurs connaissances.
  • Aux architectes et chefs d'équipe qui prennent des décisions sur le choix du modèle de concurrence pour les systèmes à forte charge.


Qu'allez-vous apprendre ?

Après avoir lu ce livre, vous serez capable de :

  • Concevoir correctement des architectures multithread, en évitant les interblocages et les conditions de course.
  • Choisir le bon outil pour la tâche : de ReentrantLock à Phaser et CompletableFuture.
  • Configurer des pools de threads pour des scénarios spécifiques (CPU-bound, I/O-bound).
  • Écrire des algorithmes parallèles sécurisés et testables.
  • Comprendre le fonctionnement interne de la JVM et du JMM (Java Memory Model) à un niveau suffisant pour déboguer des problèmes complexes.

Chaque chapitre contient des exemples de code que vous pouvez télécharger et exécuter, ainsi que des exercices d'auto-évaluation. Le livre est écrit dans un langage vivant, sans académisme excessif, mais avec une plongée profonde dans les détails techniques.



« Concurrence en Java » n'est pas seulement un ouvrage de référence, mais un guide de chevet auquel vous reviendrez encore et encore lors de la conception d'applications Java performantes et fiables.

Recommendations