Couvre les bases de la concurrence, se concentrant sur les threads et la synchronisation, y compris l'assemblage des threads et les défis de l'exécution non déterministe.
Explore les moniteurs comme une construction de synchronisation fournissant l'exclusion mutuelle et la coopération entre les threads, avec des exemples comme le tampon d'un seul endroit.
Explore les threads dans la programmation, les défis de données partagées, les verrous et la gestion des threads dans les interfaces graphiques et les applications web.
Couvre les modèles de programmation hybrides, les propositions de projets, la sécurité des threads, les problèmes de topologie et les attentes de performance dans MPI.
Comparer les modèles de programmation hybrides, discuter des propositions de projet et souligner l'importance de tenir compte de la topologie physique dans le développement des applications.
Couvre la transition de la programmation mono-thread à la programmation multithread, en se concentrant sur les modèles de mémoire et les problèmes de cohérence.
Explore la sécurité des fils, la synchronisation et les collections simultanées dans Scala, en mettant l'accent sur une implémentation de file d'attente simultanée sans verrou.
Explore l'importance de la concurrence dans l'amélioration des performances et de la réactivité du système, en mettant l'accent sur la nécessité de la synchronisation et de l'atomicité pour prévenir les conditions de course et le non-déterminisme.
Couvre les bases de la programmation parallèle, y compris l'exploitation du parallélisme dans les algorithmes et l'importance d'éviter les conditions de race.
Explore les écueils de concurrence primitives, d'exclusion mutuelle et de synchronisation dans les systèmes d'exploitation, en mettant l'accent sur les variables de condition et les sémaphores.