Что такое «я» в Акке? - PullRequest
       38

Что такое «я» в Акке?

7 голосов
/ 03 ноября 2011

Просто читая образцы Akka, не могу понять, как определяется self.reply?Насколько я вижу, self reply используется внутри receive блоков для ответа на сообщение.Но поскольку reply является методом self, то self - это что?

PS: Кстати, не могли бы вы порекомендовать хорошую краткую статью об основах Akka и удаленных актерах с помощью Scala - I 'Буду признателен, если вы можете разместить ссылку в качестве комментария здесь.Прямо сейчас я читаю это .

1 Ответ

20 голосов
/ 03 ноября 2011

self является ссылкой на экземпляр ActorRef, который содержит этот субъект.

Когда вы создаете нового актера в Akka, метод actorOf[class] возвращает экземпляр ActorRef, а не вашей фактической реализации Actor, сам актер скрыт. Этот ActorRef - это то, что вы используете для взаимодействия с Актером. Таким образом, self может использоваться самим актером для получения этой ссылки.

Например, если ваш актер хотел отправить сообщение самому себе, он сделал бы

self ! Message
...