/* Page prose (es) */
"WrappingUp" = "# Resumen\n\nEste capítulo son dos mitades de una promesa: los actores globales como `@MainActor` fijan el código a un único dominio serializado, y `Sendable` marca qué valores pueden cruzar entre dominios. Juntos, dejan que el compilador de Swift 6 convierta las carreras de datos en errores de compilación antes de que ejecutes siquiera. Las conclusiones de abajo dependen de resistir dos atajos opuestos que apagan esa protección en silencio.\n\n* **`@MainActor`** garantiza que el código se ejecute en el hilo principal y está comprobado por el compilador: el reemplazo moderno de `DispatchQueue.main.async`. Llamarlo (o a cualquier código aislado en un actor) desde otro dominio necesita **`await`**. Para alcanzar el main actor a propósito, salta una clausura con **`MainActor.run { }`** o ejecuta una tarea entera ahí con **`Task { @MainActor in }`**; una vez que estás en el main actor, esos saltos con `await` desaparecen.\n* Aísla solo lo que de verdad toca estado de UI compartido; cubrirlo todo con `@MainActor` arrastra el trabajo apto para segundo plano al hilo principal y reintroduce los congelamientos del capítulo [Por qué la concurrencia](Why%20Concurrency.playgroundchapter/Overview).\n* **`@globalActor`** te deja definir tu propio marcador de dominio-único-serializado para todo un subsistema; úsalo con moderación.\n* **`Sendable`** marca los tipos seguros de cruzar las fronteras de concurrencia. Los tipos de valor y las clases finales inmutables califican; **una clase con cualquier `var` no**, por más cuidadoso que sea tu uso: arréglalo haciéndola un actor, haciéndola inmutable, o aislándola. Recurre a `@unchecked Sendable` solo para tipos que de verdad gestionan su propio bloqueo, nunca para silenciar un error.\n* Las clausuras **`@Sendable`** (como la que toma `Task`) solo pueden capturar valores Sendable y no pueden mutar los `var` capturados.\n* Swift 6 usa todo esto para convertir las carreras de datos en **errores en tiempo de compilación**: trata esos errores como el compilador demostrando que tu concurrencia es segura.\n\n---\n\n## A continuación\n\n**[Clásico vs. moderno](Classic%20vs%20Modern.playgroundchapter/Overview)**: el mismo problema resuelto de ambas formas, para que puedas ver todo el arco de una vez y decidir cuándo migrar.\n\n[Anterior](@previous)  |  página 11 de 11";
