Dies hängt ein wenig davon ab, was Sie mit "Modell" meinen - Sie können sich entweder auf das "Ausführungsmodell" oder das "Programmiermodell" (und möglicherweise auch auf andere Modelle) beziehen.
Für Ausführungsmodelle gibt es grundsätzlich zwei: Thread-basiert oder Ereignis-basiert. Die Scala-Standardschauspielerbibliothek enthält beides. Der Thread-basierte verwendet einen Thread für jeden Akteur, während der ereignisbasierte einen Thread-Pool verwendet. Ersteres ist intuitiver zu verstehen, letzteres ist effizienter. Akka basiert auf dem ereignisbasierten Modell.
Für das Programmiermodell gibt es einen großen Unterschied zwischen der Scala-Standardbibliothek und Akka. In der Scala-Standardbibliothek implementieren Sie grundsätzlich die Methode "Ausführen" - und wenn Sie auf eine eingehende Nachricht warten möchten, geraten Sie in einen Wartezustand (indem Sie "Empfangen" oder "Reagieren" aufrufen). Das Programmiermodell folgt also der "Thread-Metapher". In Akka lautet die Programmiermetapher jedoch, dass Sie einige Lebenszyklusmethoden implementieren - die "run" -Methode ist jedoch im Framework geschrieben. Es stellt sich tatsächlich heraus, dass dieses Programmiermodell auch mit dem ereignisbasierten Ausführungsmodell viel besser funktioniert.
Wenn Sie in den verschiedenen Ausführungsmodellen und Programmiermodelle von SCALA Standard Akteuren interessiert sind ich geschrieben habe ein paar Beiträge zu diesem Thema.