/* Page prose (es) */
"Overview" = "# Actores\n\nRecuerda el desastre del banco con ventanillas de turno del capítulo [Riesgos de la concurrencia](Concurrency%20Hazards.playgroundchapter/Overview): muchos cajeros empujando depósitos sobre un único saldo compartido al mismo tiempo, y el total saliendo *mal*, con dinero simplemente esfumándose. Eso era una **carrera de datos**: dos tareas leyendo y escribiendo la misma memoria a la vez, pisándose una a otra. Entonces lo arreglaste a mano, canalizando cada cambio a través de una cola serial y esperando no olvidarlo nunca. Este capítulo presenta la herramienta moderna que hace ese arreglo automático e impuesto por el compilador: el **actor**.\n\n---\n\n## Qué aprenderás\n\n* Qué es un **actor**, y cómo protege el estado mutable dejando entrar solo una tarea a la vez.\n* Por qué llamar a un actor desde fuera necesita `await`, pero el código *dentro* del actor se ejecuta de forma síncrona, y para qué sirve `nonisolated`.\n* **Reentrancia**: cómo un actor puede ser reingresado a través de un `await`, el error sutil que eso causa, y cómo protegerse de ello.\n* Un primer vistazo a **`Sendable`**: la regla de qué es seguro pasar a través de las fronteras de actores y tareas.\n\nPasa la página y conozcamos el error en su forma más simple, una vez más.\n\npágina 1 de 7  |  [Siguiente: Un actor deja entrar una tarea a la vez](@next)";
