指向同一个演员的两个 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,它们仍然是相等的。