/* Page prose (de) */
"DistributedFromOneProcessToMany" = "# Von einem Prozess zu vielen\n\nEin **verteilter Actor** ist ein Actor, dessen Aufrufer sich in einem *völlig anderen Programm* befinden könnten. Du rufst seine Methoden weiterhin mit `await` auf; der Unterschied ist, dass der Aufruf deinen Prozess verlassen, über ein Netzwerk dorthin reisen kann, wo der Actor tatsächlich lebt, dort ausgeführt werden und das Ergebnis zurückschicken kann.\n\nDu schreibst ihn ganz ähnlich wie einen lokalen Actor, mit zwei sichtbaren Änderungen: dem Schlüsselwort `distributed` an der Deklaration und `distributed` an jeder Methode, die du aus der Ferne aufrufbar machen willst.\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\nBeachte, was sich *nicht* geändert hat: `balance` ist immer noch ganz gewöhnlicher isolierter Zustand, und die Methodenrümpfe lesen sich genau wie die lokale Version. Das Schlüsselwort `distributed` ändert nicht, was die Methode *tut*: Es markiert die Methode als eine **Nachricht, die aus einem anderen Prozess eintreffen kann**, damit der Compiler und die Laufzeitumgebung die Maschinerie hinzufügen können, um den Aufruf über die Leitung zu verschicken.\n\nEine Methode *ohne* `distributed` ist immer noch völlig legal; sie ist bloß nicht aus der Ferne aufrufbar. Sie verhält sich wie eine normale Actor-Methode, erreichbar nur durch Code, der bereits eine *lokale* Referenz auf genau diese Instanz hält.\n\n[Zurück](@previous)  |  Seite 3 von 9  |  [Weiter: Die vier Teile](@next)";
