gpt4 book ai didi

java - 传播 Akka 的 PoisonPill 消息

转载 作者:行者123 更新时间:2023-11-30 06:05:50 25 4
gpt4 key购买 nike

Akka 的 PoisonPill 是否会传播到 actor 的子级,或者子级只是被停止而不处理其余消息? Akka 文档不清楚,并且 StackOverflow 中对类似问题有一个答案,引用了旧代码,指出 children 正在被停止,但对我来说没有意义:为什么 Actor 能够在之前优雅地处理消息毒丸,但它的 child 不是。

最佳答案

PoisonPill 不会传播给子级。换句话说, children 是被阻止了,而不是“中毒”了。一旦父进程处理了 PoisonPill,它就会停止,然后它的子进程也会停止。来自 documentation :

...stopping a parent Actor will also recursively stop all the child Actors that this parent has created.

一种简单的方法是在向父级发送 PoisonPill 之前先向子级发送一个 PoisonPill。但是,actor 停止是异步发生的,因此不能保证子级在因父级停止而停止之前已经处理了各自邮箱中的消息(直到并包括 PoisonPill) .

为了更好地控制 Actor 的 child 如何“死亡”,请看一下这个 pattern文档中提到。

关于java - 传播 Akka 的 PoisonPill 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51368229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com