gpt4 book ai didi

java - 重用现有 Actor ?

转载 作者:行者123 更新时间:2023-11-29 05:15:58 25 4
gpt4 key购买 nike

创建 Actor 后:

final ActorRef greeter = getContext().actorOf(
Props.create(MyActor.class , "myactor"));

可以重新引用同一个 Actor 吗?我问的原因是我正在尝试将一些数据存储在其他参与者可以引用的参与者中。

重新调用“greeter”时会发生什么:

final ActorRef greeter = getContext().actorOf(
Props.create(MyActor.class , "myactor"));

是否重新实例化了“迎宾者” Actor ?

最佳答案

如果您对同一个类多次调用 actorOf,您得到的是该 actor 的多个实例,因此它们不会共享状态。如果您尝试创建具有相同路径的多个 Actor ,则会出现错误 - 正如 ende 所说,只有一个 Actor 可以生活在同一条路径上。

您可以从 Actor 的路径向上看 Actor 。在 akka 文档中阅读有关 actor 路径的更多信息: http://doc.akka.io/docs/akka/2.3.6/general/addressing.html

或者,也许更好的选择 - 不那么脆弱,传递 actorRef。 ActorRef 是不可变的,因此它们可以安全地作为消息发送,因此如果您在另一个内部创建 actor,您可以定义一个协议(protocol)以从其父级请求对它的引用。

关于java - 重用现有 Actor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26529097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com