Chapitre 12. La concurrence en Java
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
Ce chapitre est une introduction à la gestion de la concurrence (multithreading) sur la plateforme Java. Pour bien comprendre ce sujet, il est important d’avoir une bonne maîtrise de la partie sur la mémoire du chapitre 9, surtout parce que certains schémas de ce chapitre s’appuient sur ces concepts. Il est aussi utile, mais pas indispensable, de connaître les composants de base des systèmes d’exploitation, comme le planificateur.
On va aborder :
-
Les primitives de concurrence de Java
-
Visibilité et mutabilité des données
-
Exécuteurs et pools de threads
-
Structures de données concurrentes
-
Les threads virtuels
Commençons par définir les termes et concepts de base qu’on utilisera tout au long de ce chapitre.
Concepts de base de la concurrence en Java
L'idée d'un thread, c'est celle d'une unité d'exécution légère, plus petite qu'un processus mais tout de même capable d'exécuter du code arbitraire. En général, ça se passe comme ça : chaque thread est une unité d’exécution à part entière pour le système d’exploitation, mais il appartient à un processus, dont l’espace d’adressage est partagé entre tous les threads qui composent ce processus. Ça veut dire que chaque thread peut être planifié indépendamment et a sa propre pile et son propre compteur de programme, mais partage la mémoire et les objets avec les autres ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access