/* Page prose (zh-Hans) */
"Overview" = "# 全局 actor 与 Sendable\n\n回到经典章节，你学过一条黄金法则：**UI 工作发生在主线程上。** 遵守它的经典做法是把每次 UI 更新都包进 `DispatchQueue.main.async { ... }`，并*寄希望于*自己永远不会忘记。忘记是一个悄无声息的 bug：app 通常看起来没问题，然后在负载下出故障。现代模型做了更好的事情：它让你把代码*标记*为“仅主线程”，并让**编译器**替你检查每一次调用。那个标记就是 `@MainActor`，它是一个更大的概念——**全局 actor**——的一员，这个概念与一个名为 **`Sendable`** 的协议相配合，让 Swift 在你运行代码之前就证明你的并发是安全的。本章讲的就是这份证明。\n\n---\n\n## 你将学到\n\n* `@MainActor` 是什么，以及它如何取代“跳回 `DispatchQueue.main`”。\n* 如何用 `@globalActor` 定义你自己的**全局 actor**。\n* **`Sendable`** 意味着什么，以及为什么可变的类不是 Sendable。\n* `@Sendable` 闭包限制了什么，以及为什么 `Task` 需要它们。\n* Swift 6 如何把这一切变成**编译期**的 data race 检查。\n\n翻到下一页，我们将从 `@MainActor` 开始，这是你会不断用到的标记。\n\n第 1 / 11 页  |  [下一页: MainActor 与主线程](@next)";
