/* Page prose (ja) */
"CrossingOntoMainActor" = "# main actor へのクロス: `await`\n\n前のページでは、`deposit` へのすべての呼び出しに `await` が必要でした。その理由を説明します。`@MainActor` の型は、どの actor とも同じように状態を守ります。状態は main actor 上にあり、別の場所で実行されるコードは直接それに触れられません。外から手を伸ばすことは**クロス**であり、クロスとは、main actor での順番を待つ間にタスクが中断されうる地点です。`await` がその地点を示します。これは、どの actor でもすでに使っているのと同じ `await` です。\n\nクロスは、メソッドを呼ぶときだけでなく、状態を*読む*ときにも当てはまります。";
"CrossingOntoMainActorNotice" = "ここの外から `display` に触れるたびに `await` が伴います。そのたびに main actor へ、そして戻ってくるホップをするからです。これはコンパイラが理由もなくタイプさせる定型コードではありません。*アプリが実行される前に*、main actor の状態がメインスレッドの外で決して触れられないことを、コンパイラが証明しているのです。\n\n* callout(試してみよう): `display.balance` の前の `await` を削除して実行してみましょう。コンパイラが止めます。main actor の状態は、クロスせずに main actor の外から読むことはできません。その拒否は、コンパイル時に捕まえられ、まさに `@MainActor` がもたらす data race 安全性です。Xcode でも同じエラーが見られるでしょう。\n\n[前へ](@previous)  |  3 / 11 ページ  |  [次へ: 一度きりのホップ](@next)";
