Note :
Ce livre propose une introduction complète à la concurrence et au parallélisme, en particulier à travers le prisme des langages de programmation modernes tels que Clojure et Elixir. Il est bien structuré et attrayant, rendant les concepts complexes accessibles aux débutants comme aux développeurs expérimentés. Les lecteurs apprécient les explications claires et les exemples pratiques de l'auteur, bien que certains notent que l'accent mis sur Clojure peut limiter son applicabilité pour ceux qui ne sont pas familiers avec le langage.
Avantages:⬤ Explications claires et concises des concepts et modèles de concurrence.
⬤ Le style d'écriture engageant rend la lecture agréable.
⬤ Utile à la fois pour les débutants et les développeurs expérimentés, offrant de nouvelles perspectives et des applications pratiques.
⬤ Large éventail de sujets couverts, y compris les langages et les techniques modernes.
⬤ Des chapitres bien rythmés qui permettent un apprentissage progressif.
⬤ L'accent mis sur Clojure peut aliéner les lecteurs qui ne sont pas familiers avec ce langage.
⬤ Certains lecteurs ont trouvé que la structure n'était pas adaptée à l'étude en groupe ou aux clubs de lecture.
⬤ Les problèmes de formatage du Kindle rendent les exemples de code difficiles à lire.
⬤ Quelques lecteurs ont estimé que le contenu était soit obsolète, soit trop dépendant d'autres sources.
⬤ Une profondeur limitée sur les implémentations spécifiques de la concurrence, ce qui peut laisser les lecteurs experts sur leur faim.
(basé sur 33 avis de lecteurs)
Seven Concurrency Models in Seven Weeks: When Threads Unravel
Votre logiciel doit exploiter plusieurs cœurs, gérer des milliers d'utilisateurs et des téraoctets de données, et continuer à fonctionner en cas de défaillance matérielle ou logicielle. La simultanéité et le parallélisme sont les clés, et Sept modèles de simultanéité en sept semaines vous prépare à ce nouveau monde. Découvrez comment les technologies émergentes telles que les acteurs et la programmation fonctionnelle résolvent les problèmes liés au développement traditionnel des threads et des verrous. Apprenez à exploiter le parallélisme du GPU de votre ordinateur et à tirer parti des grappes de machines avec MapReduce et Stream Processing. Et faites tout cela avec la confiance que procure l'utilisation d'outils qui vous aident à écrire un code clair et de haute qualité.
Ce livre vous montrera comment exploiter différentes architectures parallèles pour améliorer les performances, l'évolutivité et la résilience de votre code. Vous découvrirez sept modèles de concurrence : les threads et les verrous, la programmation fonctionnelle, la séparation de l'identité et de l'état, les acteurs, les processus séquentiels, le parallélisme des données et l'architecture lambda.
Découvrez les dangers de la programmation traditionnelle des threads et des verrous et comment les surmonter par une conception soignée et en travaillant avec la bibliothèque standard. Découvrez comment les acteurs permettent aux logiciels fonctionnant sur des ordinateurs géographiquement distribués de collaborer, de gérer les pannes et de créer des systèmes qui restent opérationnels 24 heures sur 24, 7 jours sur 7 et 365 jours par an. Comprenez pourquoi l'état mutable partagé est l'ennemi d'un code concurrent robuste, et voyez comment la programmation fonctionnelle associée à des technologies telles que la mémoire transactionnelle logicielle (STM) et le parallélisme automatique vous aident à l'apprivoiser.
Vous découvrirez le potentiel inexploité de chaque GPU et comment les logiciels GPGPU peuvent l'exploiter. Vous verrez comment utiliser MapReduce pour exploiter des clusters massifs afin de résoudre des problèmes auparavant insolubles et comment, de concert avec le traitement des flux, les données volumineuses peuvent être apprivoisées.
En comprenant les forces et les faiblesses de chacun des différents modèles et architectures matérielles, vous serez en mesure de vous attaquer à n'importe quel problème en toute confiance.
Ce qu'il faut :
Le code d'exemple peut être compilé et exécuté sous *nix, OS X ou Windows. Des instructions sur le téléchargement des systèmes de compilation sont données dans chaque chapitre.
© Book1 Group - tous droits réservés.
Le contenu de ce site ne peut être copié ou utilisé, en tout ou en partie, sans l'autorisation écrite du propriétaire.
Dernière modification: 2024.11.14 07:32 (GMT)