Concurrence en Rust : asynchronisme, threads et parallélisme
300 pages
French
PDF
4.5

Concurrence en Rust : asynchronisme, threads et parallélisme

Concurrence en Rust : asynchronisme, threads et parallélisme

Auteur :

Année :

Résumé :

Le livre « Concurrence en Rust » est un guide exhaustif dédié à l'un des sujets les plus puissants et complexes de l'écosystème Rust. Rust est réputé pour sa capacité à prévenir les courses de données et autres erreurs de multithreading dès la compilation, mais pour exploiter pleinement ces capacités, une compréhension approfondie des concepts de concurrence est nécessaire.



Ce livre vous guidera des bases aux techniques avancées. Vous commencerez par la théorie : qu'est-ce que la concurrence et le parallélisme, quelles sont leurs différences et pourquoi Rust est-il plus adapté qu'aucun autre langage pour ces sujets. Ensuite, vous passerez à des exemples pratiques, écrits avec la version actuelle de Rust (2024).



  • Fondamentaux du multithreading : création et gestion des threads, transfert de propriété entre threads, utilisation de std::thread.
  • Échange sécurisé de données : mutex (Mutex), verrous de lecture-écriture (RwLock), opérations atomiques et compteurs de références Arc.
  • Canaux et passage de messages : modèle CSP avec std::sync::mpsc et la crate crossbeam.
  • Programmation asynchrone : plongée approfondie dans async/await, tâches, Future, select! et les runtimes populaires (tokio, async-std).
  • Patrons avancés : pools de threads, itérateurs parallèles (rayon), structures de données sans verrou et acteurs.
  • Profilage et débogage : outils pour trouver les goulots d'étranglement, détecteurs de courses (ThreadSanitizer) et écriture de tests pour le code concurrent.


À qui s'adresse ce livre ?

  • Développeurs Rust souhaitant passer du code séquentiel au code multithread.
  • Programmeurs familiers avec d'autres langages (C++, Go, Java) désireux de comprendre comment Rust résout les problèmes de concurrence.
  • Ingénieurs travaillant sur des systèmes à forte charge, des serveurs web, des applications réseau ou des jeux.


Ce que vous apprendrez :

  • Comment éviter les deadlocks, livelocks et courses de données.
  • Quand utiliser les threads et quand utiliser l'asynchronisme.
  • Comment concevoir correctement l'architecture d'applications concurrentes.
  • Comment écrire du code qui passe à l'échelle sur des processeurs multicœurs.


Tous les exemples de code sont disponibles dans le dépôt et sont accompagnés de commentaires détaillés. Le livre convient aussi bien aux débutants connaissant déjà les bases de Rust qu'aux développeurs expérimentés souhaitant systématiser leurs connaissances.



Plongez dans le monde de la programmation concurrente en Rust et apprenez à créer des applications rapides, fiables et sécurisées !

Recommendations