/* Page prose (de) */
"HopBackToMain" = "# Die Rückreise: zurück zu main springen\n\nHier ist das Muster, das du ständig benutzen wirst. Schwere oder langsame Arbeit kommt mit `async` auf eine Hintergrund-Warteschlange. Wenn sie fertig ist und du die UI anfassen musst, machst du `async` **zurück zur main-Warteschlange**. Arbeit raus; Ergebnis zurück.\n\nErinnere dich an die Regel von vorhin: **Alle UI-Aktualisierungen müssen auf dem Hauptthread passieren.** Die UI von einem Hintergrund-Thread aus zu aktualisieren, ist ein klassischer, schwer zu entdeckender Fehler. Der Sprung zurück zu main ist, wie du die Regel befolgst.";
"HopBackToMain-2" = "**Sieh es laufen:** `Crunching the numbers...` druckt sofort (der Hauptthread hat nie blockiert), dann erscheint die Summe, sobald die Hintergrundarbeit fertig ist und das Ergebnis an main zurückgibt. In einer echten App würde jener innere Block den Text eines Labels setzen oder eine Tabelle neu laden, und weil er auf der main-Warteschlange läuft, ist das sicher.\n\nPräge dir diese Form ein: `global().async { ...work... ; DispatchQueue.main.async { ...UI... } }`.\n\n[Zurück](@previous)  |  Seite 6 von 9  |  [Weiter: Quality of Service: Wie dringend ist das?](@next)";
