scala - 如何防止 Actor 邮箱在 Scala 中增长?

标签 scala actor

据我所知,mailboxes斯卡拉 actors没有大小限制。所以,如果 actor从其 mailbox 读取消息比其他人发送消息慢 mailbox ,那么它最终会造成内存泄漏。

我们如何确保它不会发生?我们是否应该限制 mailbox大小呢?防止mailbox 的最佳做法是什么?生长?

最佳答案

与生产者直接向消费​​者发送消息的推送策略不同,您可以使用拉取策略,消费者从生产者请求消息。

为了确保回复几乎是即时的,生产者可以提前生成有限数量的数据。当他们收到请求时,他们首先发送一个预先生成的数据,然后生成一个新的数据。

您还可以使用 Akka actor,它提供有界邮箱。

关于scala - 如何防止 Actor 邮箱在 Scala 中增长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708381/

相关文章:

Scala案例类私有(private)构造函数但公共(public)应用方法

scala - 值 % 不是类型参数 T 的成员 (Scala)

json - 使用 Scala 和 json4s 反序列化为 java 对象

scala - 捕获杀死 Actor 的消息

c# - 跨不同系统使用 Azure Service Fabric Reliable Actors

scala - 使用 SBT 离线解决 org.apache.hadoop 依赖性的错误

json - 使用 Scala lift 解析 JSON

playframework - Akka 远程 actor 无法在 Play!应用程序

scala - 使用 Scala Actor 和 receiveWithin 的 Stackoverflow 异常

Scala Remote Actor 消息类型问题