Actor模型中的Actor生命周期

5
我是一个初学者,对于actor模型还不太了解。请问有人可以解释一下actor在actor模型中的生命周期吗?我已经在文档中找过答案,但没有找到令人满意的解释。
我想知道当一个actor完成了onReceive()方法后会发生什么 - 它是否仍然存在或已经死亡?我们能否控制其生命周期以便让它保持“不要死,等待下一条消息”?例如,如果我设置一个轮询路由器有5个actors,那么它总是会在这同样的 5个actors之间分配工作吗?或者每次有消息时都会创建和销毁actors,但最大限制始终为5个。
谢谢!
1个回答

8
Actor始终处于活动状态,除非您显式地“kill”它(或者出现崩溃)。当 Actor接收到消息时,它会“使用”一个线程,处理消息,然后返回到“空闲”状态。当它接收到另一条消息时,它再次变为“活动”状态。
在具有5个Actor的轮询路由器的情况下,它是相同的5个Actor - 路由器不会每次发送消息到路由器时创建新的ActorActor模型遵循“隔离可变性”(并发)模型-它仅将状态封装给自己-其他Actor无法直接访问此状态,它们只能通过消息传递与其交互。Actor必须处于“活动”状态才能保持状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接