/* Page prose (zh-Hans) */
"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)";
