gpt4 book ai didi

scala - Akka有轻量级 Actor 吗?

转载 作者:行者123 更新时间:2023-12-04 17:01:17 26 4
gpt4 key购买 nike

我的用例非常简单——为了在两个对象之间交换很少(<100)条消息,Scala actor 非常适合这个目的(轻量级,没有复杂的生命周期管理,随时启动/终止)。

现在我正在从 Scala Actors 迁移到 Akka,但是我再也找不到那些轻量级的 Actors!

使用Akka,不仅需要为Actor创建创建ActorSystem/Props,还需要照顾ActorSystem的生命周期。

是否有不需要复杂的 ActorSystem 生命周期管理的 Akka Actor?

最佳答案

您可以创建自己的默认值 ActorSystem在全局单例对象中,您不必手动停止它 - 它会在程序关闭时停止。

UPD

answer来自 Roland Kuhn解决方案如何预防 ActorSystem防止 JVM 关闭。

object global {
import com.typesafe.config.ConfigFactory
// From answer by Roland Kuhn
implicit lazy val actorSystem: ActorSystem =
ActorSystem("default", ConfigFactory.parseString("akka.daemonic=on"))
}

您可以使用 package object为此目的。

您也可以使用 ActorDSL对于轻量级 actor 创建语法:
import ActorDSL._
import global._

val a = actor( new Act {
become {
case msg => ...
}
})

关于scala - Akka有轻量级 Actor 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18119349/

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