我现在正在学习Akka,有些事情我不明白。
我已经读过context.stop(self)
停止了actor并忽略了队列中的其余消息。这是真的吗?
我有以下演员,收到“停止”消息,打印“要停止”然后“我打印了一些东西,但我不活着”。
怎么可以打印第二行?我认为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
}
答案 0 :(得分:3)
这是真的吗?
是的,这是真的。
如何打印第二行?我认为
controller.reset(); controller.reset({ object: person }); controller.reset({ object: person, propertyName: 'firstName' });
会立即阻止演员。
context.stop(self)
方法将阻止actor处理actor的收件箱中的任何其他消息。但它不会立即跳出处理当前消息的方法。它允许actor完成当前消息的处理,但之后不会处理任何其他消息。