Различия между актерской моделью и последовательными процессами связи (CSP)

16

Когда мы смотрим на модель актора и передачу последовательных процессов, мы видим, что они оба пытаются выполнять параллелизм на основе передачи сообщений , но они различны .

(Мы видим реализации НСП модели в ходу-лане «s goroutinesClojure в core.async ) и актер модель в компании Scala Akka инструментарии)

Я пытаюсь получить простой список различий между Actor Model и CSP. Пока что у меня есть:

Это верно? Я что-то пропустил?

Предположения

  • Когда я говорю «модель актера» - я имею в виду теоретическую основу для реализации в среде Akka Scala
Hawkeye
источник
Огромный момент: в CSP передача сообщений происходит синхронно; В актерах передача сообщений происходит асинхронно.
Дэйв Кларк
@hawkeye Что вы считаете «актерской» моделью? Со времени его неформального описания появилось много формализаций с несколько иными свойствами.
Мартин Бергер
@ Мартин - это полезно. Я обновил свои предположения. Возможно, вы можете помочь мне найти "тот, кого я ищу"
ястребиный глаз
@hawkeye Что вы подразумеваете под моделью Акка? Только ключевой вычислительный механизм или также распределенная структура мониторинга / обработки ошибок?
Мартин Бергер
@MartinBerger просто ключевой вычислительный механизм
ястребиный глаз

Ответы:

6

Вот как я думаю, что Эрланг работает. Я считаю, что Акка очень похожа.

Каждый процесс имеет один почтовый ящик. Сообщения помещаются отправителем в почтовый ящик получателя и извлекаются получателем с использованием сопоставления с образцом. Этот процесс сопоставления может изменить порядок сообщений в том смысле, что самое старое сообщение в почтовом ящике может не совпадать, но младшее совпадает. В этом случае младший потребляется первым. Кроме того, порядок сообщений сохраняется.

ππ

Мартин Бергер
источник