/* Page prose (es) */
"DistributedFromOneProcessToMany" = "# De un proceso a muchos\n\nUn **actor distribuido** es un actor cuyos llamadores podrían estar en un *programa completamente distinto*. Todavía haces `await` a sus métodos; la diferencia es que la llamada puede abandonar tu proceso, viajar por una red hasta donde el actor de verdad vive, ejecutarse ahí, y enviar el resultado de vuelta.\n\nLo escribes muy parecido a un actor local, con dos cambios visibles: la palabra clave `distributed` en la declaración, y `distributed` en cada método que quieres que sea llamable desde lejos.\n\n```swift\nimport Distributed\n\ndistributed actor Ledger {\n    // Every distributed actor is tied to an actor system, the transport\n    // that knows how to find it and deliver messages to it.\n    typealias ActorSystem = ClusterSystem\n\n    private var balance: Int = 0\n\n    distributed func deposit(_ amount: Int) {\n        balance += amount\n    }\n\n    distributed func currentBalance() -> Int {\n        balance\n    }\n}\n```\n\nFíjate en lo que *no* cambió: `balance` sigue siendo estado aislado común, y los cuerpos de los métodos se leen exactamente como la versión local. La palabra clave `distributed` no cambia lo que el método *hace*: marca el método como un **mensaje que puede llegar desde otro proceso**, para que el compilador y el runtime puedan añadir la maquinaria que transporta la llamada por el cable.\n\nUn método *sin* `distributed` sigue siendo perfectamente legal; solo que no es llamable de forma remota. Se comporta como un método de actor normal, alcanzable solo por código que ya sostiene una referencia *local* a esta instancia específica.\n\n[Anterior](@previous)  |  página 3 de 9  |  [Siguiente: Las cuatro piezas](@next)";
