Den letzten gültigen Stand beim Schreiben schützen
Atomare Sichtbarkeit, Dauerhaftigkeit und Konkurrenz unterscheiden.
Direktes Öffnen der aktuellen Datei zum Überschreiben kann den einzigen gültigen Stand schon vor Abschluss des neuen Schreibens zerstören. Unser Lehrprotokoll erstellt zuerst einen neuen Kandidaten im selben Verzeichnis, schreibt ihn vollständig, validiert ihn und ersetzt anschließend den aktuellen Dateinamen atomar. Leser sehen dann am Umschaltpunkt den alten oder neuen Stand. Das ist eine Aussage über Sichtbarkeit, noch keine vollständige Stromausfallgarantie. Dafür gehören Puffer-Flush, Datei- und Verzeichnissynchronisation sowie Plattformannahmen in den Vertrag. Zwei konkurrierende Schreiber können auch bei atomarem Ersetzen Aktualisierungen verlieren. Wähle einen exklusiven Schreiber oder einen passenden transaktionalen Speicher und prüfe Konflikte ausdrücklich.
Ein Beispiel
Lauf r2 bricht während des Kandidatenschreibens ab. r1 bleibt unter dem aktuellen Namen lesbar. Nach erfolgreichem validiertem Ersetzen wird r2 sichtbar. Starten r2 und r3 beide aus r1, verhindert allein das Ersetzen nicht, dass der später schreibende Lauf den früheren verdrängt. Der Lehrvertrag nutzt deshalb einen exklusiven Schreiber. Die Übung zeichnet Zustände; sie schreibt keine echten Dateien.