/* Page prose (es) */
"MainActorRun" = "# `MainActor.run`: un salto puntual al principal\n\nMarcar un tipo entero como `@MainActor` es lo correcto cuando el trabajo del tipo es la UI. Pero a veces estás en lo profundo del trabajo en segundo plano, un cálculo grande, un parseo, una importación por lotes, y solo *una pequeña pieza* necesita el main actor: el momento en que actualizas la pantalla. Mover toda la tarea al principal solo para eso desperdiciaría el hilo principal.\n\n`MainActor.run { }` ejecuta una sola clausura en el main actor, la espera, y devuelve su resultado. Aquí hacemos trabajo pesado en un hilo en segundo plano, y luego saltamos solo la actualización de la pantalla al principal:";
"MainActorRunNotice" = "La primera línea imprime `false`: la suma se ejecutó fuera del hilo principal, donde pertenece el trabajo pesado. Dentro de `MainActor.run` el depósito imprime `true`: esa única clausura, y solo esa clausura, se ejecutó en el main actor. El valor que devolvió volvió a través del salto, así que `shown` es utilizable fuera del principal de nuevo.\n\nEste es el eco moderno de \"haz el trabajo pesado fuera del principal, y luego `DispatchQueue.main.async` para actualizar la etiqueta\", salvo que es una sola expresión, puede devolver un valor, y el compilador garantiza que la clausura de verdad se ejecuta en el principal.\n\n* callout(Pruébalo): Añade un segundo `display.deposit(25)` dentro del mismo bloque `MainActor.run`. Ambas actualizaciones ocurren en un *único* salto al principal. Sin `MainActor.run` harías `await` en cada una por separado, saltando de ida y vuelta por cada línea.\n\n## Ejecutar una tarea entera en el principal\n\n`MainActor.run` salta una sola clausura. Cuando quieres que una tarea *entera* se ejecute en el main actor, desde cualquier sitio, incluso en lo profundo de código en segundo plano, iníciala con `Task { @MainActor in }`:\n\n```swift\nTask { @MainActor in\n    display.deposit(25)   // already on the main actor, so no await\n    display.deposit(25)\n}\n```\n\nTodo lo de dentro se ejecuta en el main actor, así que los `await` que necesitabas en la página anterior simplemente desaparecen.\n\n[Anterior](@previous)  |  página 4 de 11  |  [Siguiente: Marcar solo una función o propiedad](@next)";
