Kann Scalas Schauspieler Framework 10.000 Schauspieler ohne Stapelprobleme bewältigen?

StackOverflow https://stackoverflow.com/questions/1031164

  •  06-07-2019
  •  | 
  •  

Frage

Ich möchte eine Multi-Agent-Simulation mit etwa 10.000 Agenten (Maschinen- und Produktagenten) unter Verwendung des Scala Actor-Frameworks durchführen.

Wie ich verstehe, kann der Stapel aufgrund der Rekursion aus dem Stapel ausgehen, wenn es viele Schauspieler gibt?

Wenn ja, wie kann ich die Stapelgrößen für die zugrunde liegenden Arbeiterfäden erhöhen?

War es hilfreich?

Lösung

Das Schauspieler -Framework wurde so konzipiert, dass dies mit nur einem Thread verarbeitet wird, vorausgesetzt, Sie verwenden die loop-react Muster wie folgt:

import actors._
import actors.Actor._

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

    }
  }
}

Auf PP 590-593 von Programmierung in Scala Dies wird ausführlicher besprochen: Grundsätzlich die react Die Methode kehrt nie normal zurück (sie endet mit Ausnahme) und daher muss der Anrufstack nicht erhalten bleiben. Sie können es als für immer als Schlaufe vorstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top