5

Scala Actor フレームワークを使用して、約 10.000 のエージェント (マシンおよび製品エージェント) を含むマルチエージェント シミュレーションを実行したいと考えています。

私が理解しているように、多くのアクターがメッセージを渡している場合、再帰のためにスタックが不足する可能性がありますか?

その場合、基になるワーカー スレッドのスタック サイズを増やすにはどうすればよいですか?

4

1 に答える 1

11

アクター フレームワークは、これを処理するように設計されています。実際、loop-react次のようにパターンを使用すると仮定すると、1 つのスレッドだけでこれを処理できます。

import actors._
import actors.Actor._

val a = actor {
  loop {
    react {
      case ABC => //Handle here

    }
  }
}

Programming in Scalaの pp 590-593 で、これについて詳しく説明しています。基本的に、reactメソッドは正常に返されることはなく (例外で終了します)、したがって、その呼び出しスタックを保存する必要はありません。永遠にループしていると考えることができます。

于 2009-06-23T07:57:50.997 に答える