2

Akka 1.3を使用する場合、メッセージを生成するアクターが、メッセージを消費するアクターが処理できるよりも速くメッセージを生成するとどうなるかを心配する必要がありますか?

メカニズムがないと、長時間実行されるプロセスでは、キューのサイズが大きくなり、使用可能なすべてのメモリが消費されます。

ドキュメントによると、デフォルトのディスパッチャーはExecutorBasedEventDrivenDispatcherです。

このディスパッチャには、次の5つのキュー構成があります。

  • 制限付きLinkedBlockingQueue
  • Unbounded LinkedBlockingQueue
  • 制限付きArrayBlockingQueue
  • UnboundedArrayBlockingQueue
  • SynchronousQueue

および4つの過負荷ポリシー:

  • CallerRuns
  • アボート
  • 破棄
  • DicardOldest

これは注目すべき正しいメカニズムですか?もしそうなら、このディスパッチャのデフォルト設定は何ですか?

4

1 に答える 1

0

ディスパッチャにはタスク キューがあります。これはあなたの問題とは無関係です。実際、できるだけ多くのメールボックスをキューに入れる必要があります。

あなたが探しているかもしれないものは: http://doc.akka.io/docs/akka/1.3.1/scala/dispatchers.html#Making_the_Actor_mailbox_bounded

于 2012-10-02T18:46:16.040 に答える