/* Page prose (ja) */
"ConcurrencyVsParallelism" = "# 並行処理 vs. 並列処理\n\nこの二つの言葉は同じ意味で使われがちです。両者は同じではなく、その違いを早いうちに正しく理解しておく価値があります。\n\n* **並行処理**とは、多くのことを*さばく*ことです。タスクがそれぞれ独立して進められるようにプログラムを**構造化**し、利用できるプロセッサの上で交互に処理させるやり方です。\n* **並列処理**とは、多くのことを文字どおり同じ瞬間に*行う*ことです。複数の CPU コアの上でタスクが同時に走ります。\n\nコーヒーバーで考えると具体的になります。**並行、バリスタ一人:** バリスタはプアオーバーを淹れ始め、*それが落ちているあいだに*次の人の注文を受けてエスプレッソを淹れ始めます。働き手は一人ですが、誰も手をこまねいて待ってはいません。**並列、バリスタ二人:** 二人が文字どおり同じ瞬間に二杯を淹れます。\n\n並行処理は*構造*に関する話であり、並列処理は*実行*に関する話です。重要なのは、**並行処理はシングルコアでも役に立つ**ということです。というのも、たいていの「遅い」作業は CPU が奮闘しているのではなく、*待っている*からです。ネットワークを、ディスクを、タイマーを待っているのです。待っているタスクは脇にどいて、別のタスクを走らせることができます。";
"ConcurrencyVsParallelism-2" = "コードを実行してみましょう。まず `Both orders taken...` が出力されます。続いて、**espresso** が **pour-over** より先に現れます。二番目に注文されたのにです。単に待ち時間が先に終わっただけです。`DispatchQueue` の構文はまだ気にしなくてかまいません。それは次の章のすべてです。今はただ、その*形*に注目してください。作業がメインの流れから外れ、それでもカウンターは開いたままだった、という点です。\n\n* callout(試してみよう): 二つの待ち時間を入れ替えて（pour-over を `0.2`、espresso を `0.8` に）、今度はどちらの行が先に出力されるか予想してみましょう。\n\n[前へ](@previous)  |  3 / 5 ページ  |  [次へ: 応答性を第一に](@next)";
