为什么Akka演员在停止指令后打印?
我现在正在学习阿卡语,有些东西我不懂 我已经读过为什么Akka演员在停止指令后打印?,akka,actor,Akka,Actor,我现在正在学习阿卡语,有些东西我不懂 我已经读过context.stop(self)停止参与者并忽略队列中的其余消息。这是真的吗 我有下面的演员,他收到“停止”信息,打印“要停止”,然后“我打印了一些东西,但我没有活着”。 如何打印第二行?我以为context.stop(self)会立即阻止演员 class Alice extends Actor { def receive = { case "stop" => println("gonna stop")
context.stop(self)
停止参与者并忽略队列中的其余消息。这是真的吗
我有下面的演员,他收到“停止”信息,打印“要停止”,然后“我打印了一些东西,但我没有活着”。
如何打印第二行?我以为context.stop(self)
会立即阻止演员
class Alice extends Actor {
def receive = {
case "stop" =>
println("gonna stop")
context.stop(self)
println("I printed something but I'm not alive")
// other cases
}
这是真的吗
是的,确实如此
如何打印第二行?我以为context.stop(self)
会立即阻止演员
class Alice extends Actor {
def receive = {
case "stop" =>
println("gonna stop")
context.stop(self)
println("I printed something but I'm not alive")
// other cases
}
stop
方法将阻止参与者处理其收件箱中的任何其他消息。但它不会立即跳出处理当前消息的方法。它允许参与者完成当前消息的处理,但之后不会处理其他消息。我不太了解Akka,我认为说“停止”并不是一个例外情况-因此,当前接收迭代将执行到最后,参与者就是这样。好的,那就有意义了。谢谢