/* Page prose (de) */
"ActorIsolation" = "# Actor-Isolation: `await` außen, synchron innen\n\nSieh dir noch einmal an, wie wir den Kontostand von außen gelesen haben: `await ledger.balance`. Warum das `await`?\n\nWeil der Actor **beschäftigt** sein könnte. Wenn du die Methode eines Actors aufrufst oder seinen veränderlichen Zustand **von außen** liest, muss deine Aufgabe vielleicht warten, bis derjenige fertig ist, der gerade drinnen ist. Dieses mögliche Warten ist ein Suspendierungspunkt, und in Swift wird jeder Suspendierungspunkt mit `await` markiert. Das ist die **Actor-Isolation**: der veränderliche Zustand des Actors ist *isoliert* im Actor, und Außenstehende erreichen ihn nur über `await`.\n\nInnerhalb des Actors ist es anders. Code, der *innerhalb* des Actors läuft, hat den Actor bereits für sich, also fasst er seinen eigenen Zustand **synchron** an, ohne `await`.";
"ActorIsolation-2" = "**Sieh es laufen:** du wirst `Balance is now 50`, `Balance is now 75` und dann `Read from outside: 75` sehen. Achte auf das Muster: **jeder** Zugriff aus dem `Task` brauchte `await`; nichts innerhalb von `deposit` oder `report` tat das. Innerhalb des Actors stehst du bereits vorne in der Reihe.\n\n---\n\n## `nonisolated` für Zustand, der keinen Schutz braucht\n\nNicht alles in einem Actor fasst veränderlichen Zustand an. Ein unveränderliches `let` ändert sich nie, also kann sein Lesen keinen Race auslösen; es gibt keinen Grund, Aufrufer dafür `await` machen zu lassen. Markiere solche Mitglieder als **`nonisolated`**, um sie aus der Isolation herauszunehmen:\n\n```swift\nactor Account {\n    let owner: String   // immutable, safe to read anytime\n    private(set) var balance: Int\n\n    init(owner: String, balance: Int) {\n        self.owner = owner\n        self.balance = balance\n    }\n\n    nonisolated var label: String {\n        \"Account for \\(owner)\"   // only reads the immutable `owner`\n    }\n\n    func deposit(_ amount: Int) {\n        balance += amount\n    }\n}\n\nlet account = Account(owner: \"Robin\", balance: 100)\nprint(account.label)   // no await, it's nonisolated\n```\n\nWeil `label` nur das unveränderliche `owner` liest, wird es `nonisolated` deklariert, und du rufst es wie eine normale Eigenschaft auf, ohne `await`, ohne Warten. Der Haken: ein `nonisolated`-Mitglied **darf den veränderlichen Zustand des Actors nicht anfassen**. Versuche, `balance` von innerhalb `label` zu lesen, und der Compiler lehnt es ab, weil dieser Zugriff Schutz *bräuchte*. Dieser Fehler sind die Isolationsregeln, die dich ehrlich halten.\n\n> Wenn du `balance` zur `label`-Zeichenkette oben hinzufügtest, würde der Compiler den Code genau dort ablehnen, weil `nonisolated`-Mitglieder isolierten Zustand nicht anfassen dürfen. Dieser Fehler ist die Isolationsregel, die wie beabsichtigt funktioniert, kein Fehler in deinem Code.\n\n[Zurück](@previous)  |  Seite 3 von 7  |  [Weiter: Reentrancy](@next)";
