/* Page prose (de) */
"SerialQueueFix" = "# Lösung 1: Schreibvorgänge durch eine serielle Warteschlange kanalisieren\n\nDie sauberste Lösung: die Einzahlungen **nacheinander** stattfinden lassen. Eine **serielle Warteschlange** führt ihre Blöcke strikt der Reihe nach aus, ohne sich je zu überschneiden, sodass kein Kassierer die Schublade lesen kann, während ein anderer mitten im Schreiben ist. Es gibt keine Lücke, in die man sich schleichen könnte.";
"SerialQueueFix-2" = "**Sieh es laufen:** `Final balance: 1000 (expected 1000)`. Jedes einzelne Mal. Führe es zehnmal aus; es ist zehnmal `1000`. Die serielle Warteschlange ist die Koordination, die der Version mit dem Race fehlte. Beachte den Kompromiss: Die Einzahlungen überschneiden sich nicht mehr, also hast du etwas Parallelität aufgegeben, um Korrektheit zu erkaufen. Für ein schnelles Kontostand-Update ist das ein guter Handel.\n\n* callout(Probier es aus): Ändere `ledger` zurück auf `attributes: .concurrent` und führe aus. Beobachte, wie die garantierte `1000` in dem Moment wieder auseinanderfällt, in dem die Schreibvorgänge sich überschneiden können.\n\n[Zurück](@previous)  |  Seite 4 von 9  |  [Weiter: Die Lösung mit Barriere](@next)";
