阅读Akka示例,无法理解self.reply
是如何定义的?据我所知,在self reply
块内使用receive
来回复消息。但至于reply
是self
的方法,那么self
是什么?
PS:顺便说一句,你可以推荐一篇关于Akka基础知识和Scala远程演员的快速入门文章 - 如果你能在这里发表评论,我会很感激。现在我正在阅读this。
答案 0 :(得分:20)
self
是对包含该actor的ActorRef实例的引用。
当您在Akka中创建一个新actor时,actorOf[class]
方法返回一个ActorRef实例,而不是您实际的Actor实现,该actor本身是隐藏的。这个ActorRef就是你用来与Actor交互的东西。因此,演员本身可以使用self
来获得此引用。
例如,如果你的演员想要向自己发送消息,那么就可以
self ! Message