/* Page prose (ja) */
"DistributedFromOneProcessToMany" = "# 1 つのプロセスから複数へ\n\n**分散 actor** は、その呼び出し元が*まったく別のプログラム*にいるかもしれない actor です。そのメソッドを `await` することに変わりはありません。違いは、呼び出しが自分のプロセスを離れ、ネットワークを越えて actor が実際に存在する場所まで移動し、そこで実行され、結果を送り返してくるかもしれない、という点です。\n\n書き方はローカル actor とよく似ていて、目に見える変更が 2 つあります。宣言に付ける `distributed` キーワードと、遠くから呼び出せるようにしたい各メソッドに付ける `distributed` です。\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\n*変わらなかった*ものに注目してください。`balance` は依然としてふつうの分離された状態であり、メソッドの本体はローカル版とまったく同じように読めます。`distributed` キーワードはメソッドが*何をするか*を変えるわけではありません。それはメソッドを**別のプロセスから届くかもしれないメッセージ**として印づけ、コンパイラとランタイムが呼び出しを回線越しに運ぶための仕組みを追加できるようにします。\n\n`distributed` の*ない*メソッドも依然として完全に正当です。ただリモートから呼び出せないだけです。それはふつうの actor メソッドのように振る舞い、この特定のインスタンスへの*ローカルな*参照をすでに保持しているコードからのみ到達できます。\n\n[前へ](@previous)  |  3 / 9 ページ  |  [次へ: 4 つの部品](@next)";
