gpt4 book ai didi

scala - 大量 Scala Actor 的 gc

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

如果我想实现 http 服务器。

i create new actor per request. So it can scale up as my cpu updated.



但它会导致内存使用问题吗?据说 Actor 在gc时有一些奇怪的行为。
代码将是这样的:
class Worker extends Actor {
def act = react {
case req : Request => perform(req);exit()
}
}


class HttpEventHandler{
def onConnect(conn) = {
new Worker ! createRequest(conn)
}
}

编辑:我对此进行了测试,请详细检查我的测试 http://jilen.iteye.com/blog/1231178

最佳答案

电梯had some problems几年前使用 Scala 的内置 actor 库,这促使他们编写自己的 actor 库。我不知道 Scala 的内置 actor 是否仍然存在 Lift 社区当时遇到的相同问题。您必须自己进行测试才能找到答案。 (或者也许有最近经验的人可以插话)。

我建议您查看 Akka Actors图书馆。总的来说,我认为这是对 Scala 内置实现的改进。它甚至还有一个 spawn 函数,它完全符合您在此处所做的操作(创建一个角色来处理单个消息并死亡)。

编辑:

您的代码 list 尤其可能会泄漏 Actor ,因为您没有明确 exit()当你完成你的 Actor 。

编辑2:

原来 Scala 本身有一个 spawn 功能(感谢 Stefan)。我不知道它是否比 Scala 类型转换现得更好。

关于scala - 大量 Scala Actor 的 gc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963306/

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