Когда мы смотрим на модель актора и передачу последовательных процессов, мы видим, что они оба пытаются выполнять параллелизм на основе передачи сообщений , но они различны .
(Мы видим реализации НСП модели в ходу-лане «s goroutines (и Clojure в core.async ) и актер модель в компании Scala Akka инструментарии)
Я пытаюсь получить простой список различий между Actor Model и CSP. Пока что у меня есть:
- Передача сообщений актерами асинхронна, передача сообщений CSP синхронна
- актеры составные , CSP нет (обязательно)
- актеры всегда имеют неограниченный недетерминизм , CSP может иметь ограниченный или неограниченный недетерминизм
- Актеры имеют переменную топологию, тогда как CSP имеет фиксированную топологию
- актеры имеют принцип локальности , CSP не имеет локальности
- актеры строятся вокруг своего поведения, CSP не обязательно имеет это
Это верно? Я что-то пропустил?
Предположения
- Когда я говорю «модель актера» - я имею в виду теоретическую основу для реализации в среде Akka Scala