/* Page prose (de) */
"CrossingOntoMainActor" = "# Auf den MainActor wechseln: das `await`\n\nAuf der letzten Seite brauchte jeder Aufruf von `deposit` ein `await`. Hier ist der Grund. Ein `@MainActor`-Typ schützt seinen State genauso wie jeder Actor: Der State lebt auf dem MainActor, und Code, der woanders läuft, kann ihn nicht direkt anfassen. Von außen hineinzugreifen ist ein **Wechsel**, und ein Wechsel ist ein Punkt, an dem deine Task suspendieren kann, während sie auf dem MainActor auf ihren Zug wartet. `await` markiert diesen Punkt. Es ist dasselbe `await`, das du bereits mit jedem Actor benutzt.\n\nDer Wechsel gilt auch für das *Lesen* von State, nicht nur für das Aufrufen von Methoden:";
"CrossingOntoMainActorNotice" = "Jede einzelne Berührung von `display` von hier draußen trägt ein `await`, weil jede auf den MainActor und zurück springt. Das ist kein Boilerplate, das der Compiler dich grundlos tippen lässt. Es ist der Compiler, der *bevor die App überhaupt läuft* beweist, dass MainActor-State nie abseits des Hauptthreads angefasst wird.\n\n* callout(Probier es aus): Lösche das `await` vor `display.balance` und führe aus. Der Compiler stoppt dich: MainActor-State kann nicht abseits des MainActor gelesen werden, ohne zu wechseln. Diese Verweigerung, zur Kompilierzeit abgefangen, ist genau die Data-Race-Sicherheit, die dir `@MainActor` verschafft. Denselben Fehler würdest du in Xcode sehen.\n\n[Zurück](@previous)  |  Seite 3 von 11  |  [Weiter: Ein einmaliger Sprung](@next)";
