Это немного зависит от того, что вы имеете в виду под «моделью» - вы можете обратиться либо к «модели исполнения», либо к «модели программирования» (и, возможно, к другим моделям).
Для моделей исполненияВ основном их два: на основе потоков или на основе событий.Стандартная библиотека актеров Scala содержит и то, и другое.На основе потоков используется один поток для каждого участника, тогда как на основе событий используется пул потоков.Первое более интуитивно понятно, второе более эффективно.Akka построен на основе событийной модели.
Для модели программирования существует большая разница между стандартной библиотекой scala и Akka.В стандартной библиотеке scala вы в основном реализуете метод «run» - и если вы хотите дождаться входящего сообщения, вы попадаете в состояние ожидания (вызывая «receive» или «реагировать»).Итак, модель программирования придерживается «метафоры потока».Тем не менее, в Akka метафора программирования заключается в том, что вы реализуете несколько методов жизненного цикла, но метод "run" написан внутри фреймворка.Фактически получается, что эта модель программирования работает намного лучше с моделью исполнения на основе событий.
Если вас интересуют различные модели исполнения и модели программирования стандартных акторов scala, которые я написал несколько сообщений по этому вопросу.