/* Page prose (de) */
"ThreeQueues" = "# Die drei Warteschlangen, die du benutzen wirst\n\nEs gibt genau drei Quellen von Warteschlangen, die du kennen musst.\n\n**1. Die main-Warteschlange**: `DispatchQueue.main`.  \nArbeit hier läuft auf dem **Hauptthread**, dem, der deine UI besitzt. Hierher kommst du zurück, um Labels zu aktualisieren, eine Liste neu zu laden oder eine Animation zu starten.\n\n**2. Globale Warteschlangen**: `DispatchQueue.global()`.  \nDas sind geteilte, vom System bereitgestellte Hintergrund-Warteschlangen. Greif zu einer, wann immer du Arbeit hast, die nicht auf dem Hauptthread liegen sollte, und du keine eigene Warteschlange brauchst.\n\n**3. Benutzerdefinierte Warteschlangen**: `DispatchQueue(label: \"...\")`.  \nEine Warteschlange, die du erzeugst und benennst. Das Label taucht in Debuggern und Crash-Logs auf, gib ihr also einen klaren Namen im Reverse-DNS-Stil. Benutzerdefinierte Warteschlangen sind **standardmäßig seriell**, was sie zu einem einfachen Werkzeug zum Schützen von geteiltem Zustand macht (mehr dazu im Kapitel [Gefahren der Nebenläufigkeit](Concurrency%20Hazards.playgroundchapter/Overview)).";
"ThreeQueues-2" = "**Sieh es laufen:** Du siehst drei Labels. Die main- und die globale Warteschlange existieren bereits; du holst dir nur eine Referenz auf sie. Die benutzerdefinierte Warteschlange ist eine, die du selbst benannt hast. Es lief noch nichts auf einem Hintergrund-Thread; du hast die Warteschlangen nur *beschrieben*.\n\n[Zurück](@previous)  |  Seite 2 von 9  |  [Weiter: async: plane es ein und mach weiter](@next)";
