Parallelität in Rust: Asynchronität, Threads und Nebenläufigkeit
300 Seiten
German
PDF
4.5

Parallelität in Rust: Asynchronität, Threads und Nebenläufigkeit

Parallelität in Rust: Asynchronität, Threads und Nebenläufigkeit

Autor:

Jahr:

Zusammenfassung:

Das Buch „Parallelität in Rust“ ist ein umfassender Leitfaden, der sich einem der leistungsstärksten und komplexesten Themen im Rust-Ökosystem widmet. Rust ist bekannt für seine Fähigkeit, Datenrennen und andere Multithreading-Fehler bereits zur Kompilierzeit zu verhindern. Um diese Möglichkeiten jedoch voll ausschöpfen zu können, ist ein tiefes Verständnis der Konzepte der Parallelität erforderlich.



Dieses Buch führt Sie von den Grundlagen bis zu fortgeschrittenen Techniken. Sie beginnen mit der Theorie: Was sind Parallelität und Nebenläufigkeit, worin unterscheiden sie sich und warum eignet sich Rust wie keine andere Sprache dafür. Anschließend gehen Sie zu praktischen Beispielen über, die mit der aktuellen Rust-Version (2024) geschrieben sind.



  • Grundlagen des Multithreadings: Erstellen und Verwalten von Threads, Übertragen von Eigentum zwischen Threads, Verwendung von std::thread.
  • Sicherer Datenaustausch: Mutexe (Mutex), Lese-Schreib-Sperren (RwLock), atomare Operationen und Referenzzähler Arc.
  • Kanäle und Nachrichtenübertragung: Das CSP-Modell mit std::sync::mpsc und der Crate crossbeam.
  • Asynchrone Programmierung: Tiefer Einstieg in async/await, Tasks, Future, select! und gängige Laufzeiten (tokio, async-std).
  • Fortgeschrittene Muster: Thread-Pools, parallele Iteratoren (rayon), lock-freie Datenstrukturen und Aktoren.
  • Profiling und Debugging: Werkzeuge zum Auffinden von Engpässen, Datenrennerkennung (ThreadSanitizer) und Schreiben von Tests für parallelen Code.


Für wen ist dieses Buch?

  • Rust-Entwickler, die von sequenziellem zu multithreaded Code übergehen möchten.
  • Programmierer, die mit anderen Sprachen (C++, Go, Java) vertraut sind und verstehen möchten, wie Rust Probleme der Parallelität löst.
  • Ingenieure, die an hochbelasteten Systemen, Webservern, Netzwerkanwendungen oder Spielen arbeiten.


Was Sie lernen werden:

  • Wie man Deadlocks, Livelocks und Datenrennen vermeidet.
  • Wann man Threads und wann man Asynchronität verwendet.
  • Wie man die Architektur paralleler Anwendungen richtig entwirft.
  • Wie man Code schreibt, der auf Mehrkernprozessoren skaliert.


Alle Codebeispiele sind im Repository verfügbar und mit ausführlichen Kommentaren versehen. Das Buch eignet sich sowohl für Anfänger, die bereits die Grundlagen von Rust kennen, als auch für erfahrene Entwickler, die ihr Wissen systematisieren möchten.



Tauchen Sie ein in die Welt der parallelen Programmierung mit Rust und lernen Sie, schnelle, zuverlässige und sichere Anwendungen zu erstellen!

Empfehlungen