指向同一个演员的两个 IActorRef 是否总是相等的?
Are two IActorRef pointing to the same actor always equal?
假设我有两个 IActorRef
指向同一个演员但从不同来源获得:
在本地创建演员时获得了一个演员参考:
var actorRef1 = system.ActorOf<MyActor>("myActor");
稍后这个 actor 引用被传递给一个远程 actor,并且在返回相同的 actor 引用之后(例如 actorRef2
)。
两个演员参考是否相等?
Object.Equals(actorRef1, actorRef2); // true???
或者另一种情况:从不同的远程系统接收到两个 IActorRef
,并指向另一个远程系统上的同一个参与者。
这个问题是通过 gitter chat 回答的。但是生病 post 这里也是 posterity.
IActorRef 是相等的,它们通过它们的 actorpath 和 UID 进行比较。所以即使2个actorrefs通过不同的方式获取,如果指向同一个actor,它们仍然是相等的。
假设我有两个 IActorRef
指向同一个演员但从不同来源获得:
在本地创建演员时获得了一个演员参考:
var actorRef1 = system.ActorOf<MyActor>("myActor");
稍后这个 actor 引用被传递给一个远程 actor,并且在返回相同的 actor 引用之后(例如 actorRef2
)。
两个演员参考是否相等?
Object.Equals(actorRef1, actorRef2); // true???
或者另一种情况:从不同的远程系统接收到两个 IActorRef
,并指向另一个远程系统上的同一个参与者。
这个问题是通过 gitter chat 回答的。但是生病 post 这里也是 posterity.
IActorRef 是相等的,它们通过它们的 actorpath 和 UID 进行比较。所以即使2个actorrefs通过不同的方式获取,如果指向同一个actor,它们仍然是相等的。