如何防止Scala中的actor邮箱增长?

Mic*_*ael 6 scala actor

据我所知,mailboxesScala actors没有大小限制.因此,如果actor从其中mailbox 较慢的消息中读取消息会向其发送消息mailbox,那么它最终会产生内存泄漏.

我们怎样才能确保它不会发生?我们应该限制mailbox尺寸吗?防止mailbox增长的最佳做法是什么?

par*_*tic 4

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

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

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