gpt4 book ai didi

scala - 从 Actor 关闭 Akka Actor 系统

转载 作者:行者123 更新时间:2023-12-04 19:51:49 27 4
gpt4 key购买 nike

我知道我可以使用 system.shutdown()在 Actor 系统之外停止 Actor 系统并制作system.awaitTermination()停止在其线程上阻塞执行。

我想从我的一个 Actor 中触发 Actor 系统关闭。我想我应该可以调用context.system.shutdown()来自 Actor 的接收方法,但是当我这样做时,似乎什么也没发生,system.awaitTermination() (在主线程上)只是继续阻塞。

有任何想法吗?

最佳答案

如何对 Actor 进行编程以杀死自己

class WatchActor extends Actor {

val child = context.actorOf(Props.empty, "child")
context.watch(child) // <-- this is the only call needed for registration
var lastSender = system.deadLetters

def receive = {
case "kill" =>
context.stop(child); lastSender = sender()
case Terminated(`child`) => lastSender ! "finished"
}
}

在这个网址有一个很好的解释。

http://doc.akka.io/docs/akka/snapshot/scala/actors.html

jfm

关于scala - 从 Actor 关闭 Akka Actor 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28324555/

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