/* Page prose (de) */
"OrderingWorkWithDependencies" = "# Arbeit mit Abhängigkeiten ordnen\n\nEine `OperationQueue` führt bereitwillig alles aus, was du ihr gibst, **auf einmal**, in keiner garantierten Reihenfolge. Genau das willst du für unabhängige Jobs. Genau das willst du *nicht* für eine Pipeline.\n\nEine **Abhängigkeit** ist eine Regel, die sagt: \"Starte Operation B nicht, bevor Operation A fertig ist.\" Du fügst eine mit `addDependency(_:)` hinzu. Hier ist die Broschüren-Pipeline, bei der jede Stufe ihr Ergebnis an die nächste weitergibt:";
"OrderingWorkWithDependencies-2" = "**Sieh es laufen:** Obwohl wir die Operationen *binden → drucken → entwerfen* hinzugefügt haben, laufen sie **entwerfen → drucken → binden**, jedes Mal. Die Warteschlange hielt `printing` zurück, bis `design` fertig war, und `binding`, bis `printing` fertig war. Beachte außerdem, dass jede Stufe die Ausgabe der vorherigen Stufe las (`design.layout`, `printJob.pages`) und sie immer da war.\n\nDieser letzte Punkt ist ein Innehalten wert. Eine Abhängigkeit *ordnet* die Arbeit nicht nur; sie garantiert, dass die frühere Operation **vollständig fertig** ist, bevor die spätere startet. Es gibt keine Überlappung, also ist das Lesen von `design.layout` aus `PrintOperation` heraus sicher: Die beiden Operationen berühren diese Eigenschaft nie zur selben Zeit. Abhängigkeiten geben dir eine korrekte Reihenfolge *und* eine einfache, Race-freie Möglichkeit, Daten weiterzureichen.\n\n> `addDependency(_:)` erzwingt nur die Reihenfolge. Es bewegt die Daten **nicht** für dich. Das Layout an den Initializer von `PrintOperation` zu übergeben, ist deine Aufgabe, nicht die der Warteschlange. Abhängigkeiten sagen *wann*; das *Was* verdrahtest du weiterhin selbst.\n\n* callout(Probier es aus): Lösche `binding.addDependency(printing)` und führe erneut aus: Was druckt `BindOperation` jetzt, und warum?\n\nAbhängigkeiten können sogar Warteschlangen überspannen: Eine Operation in einer Warteschlange kann von einer Operation in einer anderen abhängen. Die Warteschlange startet eine abhängige Operation einfach nicht, bis alle ihre Abhängigkeiten `isFinished` melden.\n\n[Zurück](@previous)  |  Seite 2 von 7  |  [Weiter: Abbruch ist eine höfliche Anfrage](@next)";
