Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala actor内存泄漏,是否和以前一样严重,还是有所改善?_Scala_Scala 2.8 - Fatal编程技术网

Scala actor内存泄漏,是否和以前一样严重,还是有所改善?

Scala actor内存泄漏,是否和以前一样严重,还是有所改善?,scala,scala-2.8,Scala,Scala 2.8,我目前正在学习Scala 2.8,使用Scala第二版中的编程 但我开始真正关心像这样的帖子了 Scala对内存泄漏有这么糟糕吗?这不是我第一次听到有关演员和内存泄漏问题的信息 有那么糟糕吗?新版本是否在合理的时间内修复?如果合并,阿克卡会解决所有问题吗?如果合并,阿克卡会解决所有问题吗 因为看到scala最大的优点之一的重大问题(至少对我来说,像Erlang这样的演员是lang最重要的优点之一)是一个很大的缺点,如果他们不能解决这些问题并在上面改进的话。我对scala的内部结构了解不多,但我猜

我目前正在学习Scala 2.8,使用Scala第二版中的编程

但我开始真正关心像这样的帖子了

Scala对内存泄漏有这么糟糕吗?这不是我第一次听到有关演员和内存泄漏问题的信息

有那么糟糕吗?新版本是否在合理的时间内修复?如果合并,阿克卡会解决所有问题吗?如果合并,阿克卡会解决所有问题吗


因为看到scala最大的优点之一的重大问题(至少对我来说,像Erlang这样的演员是lang最重要的优点之一)是一个很大的缺点,如果他们不能解决这些问题并在上面改进的话。

我对scala的内部结构了解不多,但我猜Scala的actors实现是在无限制地对每条消息排队

如果参与者从队列中拉出的速度不够快,队列将增长并消耗内存


我猜内存不足的实现会限制一次排队消息的数量,从而消耗更少的内存(但也会在队列已满时阻止消息发送者)。

您应该尝试Akka。它非常健壮、轻巧且可调。例如,你可以(并且可以选择邮箱满时做什么)。

我知道有人使用大量的参与者,所以我很确定内存泄漏不会很普遍

Scala演员在2009年有内存泄漏吗(Scala 2.7.x)?是的。例如,和

现在,我可以找到关于内存泄漏的三张罚单:,和

不过,我对你的一条评论表示异议:

scala最大的优点之一(至少对我来说是像Erlang这样的演员) 是世界上最主要的糖果之一)

演员不是语言的一部分!他们是图书馆!这就是Scala的全部意义,Scala这个名字的来源就是“可伸缩”的含义:您可以通过库添加这样的内容

目前,Scala中有四种不同的actor实现:主库、Scalaz、Lift和Akka。你绝对没有理由把自己和标准的图书馆联系在一起。事实上,主库中的参与者的问题之一是,他们的写作更多地是为了证明一个人可以做到这一点,而不是为了解决实际问题

如果你想使用演员,请使用Akka。你现在就可以用。见鬼,如果你对语法受虐感兴趣的话,你甚至可以在Java中使用它。Akka是一个极好的库,它远远超出了简单地提供参与者的范围,还提供了使它们有用的所有支持工具(如管理器和负载平衡器),以及其他完全支持并发性的工具,如代理(Clojure样式)、STM(基于多宇宙)、与Spring、Camel、AMQP的集成等


Scala的优势在于似乎可以通过库来扩展它。如果您将自己限制在标准库中的内容,那么您就是在抛弃它。

链接是邮件列表线程上的一条有趣的评论。谢谢您的回答。你是对的,我的说法不正确。