def receive = {
case Greeter.Greet =>
println("Hello World!")
sender() ! Greeter.Done
}
在学习akka看见有sender() ! Greeter.Done这么一行语句。
这个 !代表什么意思啊?很急求大牛指导!
def receive = {
case Greeter.Greet =>
println("Hello World!")
sender() ! Greeter.Done
}
在学习akka看见有sender() ! Greeter.Done这么一行语句。
这个 !代表什么意思啊?很急求大牛指导!
tell 方法也就是叹号(!):在 Scala 中,通过“!” 来调用tell方法。如果你了解Java的部分,那么会注意到在Java API的tell 方法中必须指定消息的发送者,不过在 Scala 中,消息发送者是隐式传入的,因此我们不需要再显式传入消息发送者的引用。在 tell 方法“!”的方法签名中, 有一个隐式的 ActorRef 参数。如果在 Actor 外部调用 tell 方法的话,该参数的默 认值会设为 noSender。下面就是该方法的签名:
def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit