Відмінності між акторською моделлю та комунікаційними послідовними процесами (CSP)


16

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

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

Я намагаюся отримати простий перелік відмінностей між Акторською моделлю та CSP. Поки що я маю:

Це правильно? Що-небудь мені не вистачає?

Припущення

  • Коли я кажу «акторська модель» - я маю на увазі теоретичну основу, що лежить в основі впровадження в рамки «Акка» Скали

Величезний момент: у передачі повідомлень CSP є синхронним; в Акторах передача повідомлень асинхронна.
Дейв Кларк

@hawkeye Що ви вважаєте моделлю актора? З часу його неофіційного опису з'явилося багато формалізацій, що мають дещо різні властивості.
Мартін Бергер

@Martin - це корисно. Я оновив свої припущення. Можливо, ви можете допомогти мені знайти "того, кого я шукаю"
hawkeye

@hawkeye Що ви розумієте під моделлю Акка? Тільки ключовий обчислювальний механізм чи також розподілений моніторинг / поводження з помилками?
Мартін Бергер

@MartinBerger просто ключовий обчислювальний механізм
hawkeye

Відповіді:


6

Ось як я думаю, що працює Ерланг. Я вважаю, Акка дуже схожий.

Кожен процес має одну поштову скриньку. Повідомлення поміщаються в поштову скриньку одержувача відправником і отримуються отримувачем за допомогою відповідності шаблонів. Цей процес узгодження може змінити впорядкування повідомлень у тому сенсі, що найдавніше повідомлення в поштовій скриньці може не відповідати, але молодше. У цьому випадку молодший споживається спочатку. Крім цього, впорядкування повідомлень зберігається.

ππ

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.