/* Page prose (de) */
"ConcurrencyVsParallelism" = "# Nebenläufigkeit vs. Parallelität\n\nDiese zwei Wörter werden austauschbar verwendet. Sie sind nicht dasselbe, und es lohnt sich, den Unterschied früh richtig zu verstehen.\n\n* **Nebenläufigkeit** ist das *Bewältigen* vieler Dinge gleichzeitig: eine Art, dein Programm zu **strukturieren**, sodass Aufgaben unabhängig voneinander Fortschritt machen können, indem sie sich auf den verfügbaren Prozessoren verschachteln.\n* **Parallelität** ist das *Tun* vieler Dinge im buchstäblich selben Augenblick: Aufgaben, die gleichzeitig auf mehreren CPU-Kernen laufen.\n\nDie Kaffeebar macht es greifbar. **Nebenläufig, ein Barista:** Der Barista startet deinen Handaufguss, und *während er durchtropft* nimmt er die Bestellung der nächsten Person auf und startet deren Espresso. Ein Arbeiter, aber niemand wartet untätig. **Parallel, zwei Baristas:** zwei Personen, die im selben Moment buchstäblich zwei Shots ziehen.\n\nBei Nebenläufigkeit geht es um *Struktur*; bei Parallelität um *Ausführung*. Entscheidend: **Nebenläufigkeit hilft sogar auf einem einzigen Kern**, denn die meiste \"langsame\" Arbeit ist keine sich anstrengende CPU, sondern *Warten*: auf das Netzwerk, die Festplatte, einen Timer. Eine wartende Aufgabe kann zur Seite treten und eine andere laufen lassen.";
"ConcurrencyVsParallelism-2" = "Führe den Code aus. `Both orders taken...` wird zuerst ausgegeben. Dann erscheint **espresso** vor **pour-over**, obwohl er als zweites bestellt wurde: Er hat sein Warten einfach früher beendet. Mach dir noch keine Gedanken über die `DispatchQueue`-Syntax, das ist das ganze nächste Kapitel. Achte gerade jetzt nur auf die *Form*: Arbeit wurde von der Hauptlinie weggeschoben, und der Tresen blieb offen.\n\n* callout(Probier es aus): Tausche die zwei Wartezeiten (Handaufguss `0.2`, Espresso `0.8`) und sage vorher, welche Zeile jetzt zuerst ausgegeben wird.\n\n[Zurück](@previous)  |  Seite 3 von 5  |  [Weiter: Reaktionsfähigkeit zuerst](@next)";
