Umgang Mit Geliehenen Daten
Rusts Regeln für Referenzen lassen sich am besten so zusammenfassen:
- Rust erlaubt entweder nur eine veränderliche Referenz oder mehrere nicht-veränderliche Referenzen, aber nicht beides.
- Eine Referenz darf niemals länger leben als ihr Eigentümer.
Das ist in der Regel kein Problem, wenn Referenzen an Funktionen weitergegeben werden.
Speicherdetails:
- Die erste Regel für Referenzen verhindert Data Races. Was ist ein Data Race? Ein Data Race entsteht, wenn beim Lesen von Daten die Möglichkeit besteht, dass diese nicht synchron sind, weil gleichzeitig ein Schreibzugriff auf die Daten existiert. Das passiert häufig in der Multithread-Programmierung.
- Die zweite Regel für Referenzen verhindert den Missbrauch von Referenzen, die auf nicht mehr existierende Daten verweisen (in C "dangling pointers" genannt).