我在这里和这里看文档有点困惑
receive()
是一个不接受任何参数并返回 Partial 函数的方法。 tell()
是一种返回 Unit
并"发送"消息的方法。现在,要在我的理解中处理消息,必须发生两件事:
receive()
应通过 tell 调用- 消息被传递给由
receive()
返回的部分函数
现在,如果将部分函数返回到使用tell()
的位置,那么基于消息的通信如何工作?为什么操作不是在演员内部执行的?
是内部的,所以没有文档,但你可以在这里自己签出源代码:https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorCell.scala。从 tell 如何将消息发送到邮箱、如何从中提取消息、如何调用接收等开始的所有内部都在这里。
希望它能回答你的问题。