Aktör Modeli ve Ardışık Süreçlerin İletilmesi (CSP) arasındaki farklar


16

Biz baktığımızda Erkek Oyuncu Modeli ve Haberleşiyor Sıralı Süreçleri biz onlar hem yapmaya çalışıyoruz görüyoruz eşzamanlılık dayalı Mesaj yollama , henüz onlar farklıdır .

(Biz uygulamalarını bkz CSP Modeli içinde go-lang 'ın goroutines (ve Clojure en core.async ) ve Aktör Modeli Scala'nın Akka araç)

Aktör Modeli ve CSP arasındaki farkların basit bir listesini almaya çalışıyorum. Şimdiye kadar var:

Bu doğru mu? Eksik olduğum bir şey var mı?

Varsayımlar

  • 'Aktör modeli' dediğimde - Scala'nın Akka çerçevesinde uygulamanın arkasındaki teorik temeli kastediyorum

Çok büyük bir nokta: CSP iletisinde geçiş zaman uyumludur; Aktörler iletisinde geçiş zaman uyumsuzdur.
Dave Clarke

@hawkeye Oyuncu "model" olarak ne görüyorsunuz? Gayri resmi tanımından bu yana, biraz farklı özelliklere sahip birçok formalizasyon ortaya çıktı.
Martin Berger

@ Martin - bu yardımcı oldu. Varsayımlarımı güncelledim. Belki de "aradığım kişiyi" bulmama yardım edebilirsin
hawkeye

@hawkeye Akka modeli ile ne demek istiyorsun? Sadece temel hesaplama mekanizması mı, yoksa dağıtılmış izleme / hata işleme çerçevesi mi?
Martin Berger

@MartinBerger sadece temel hesaplama mekanizması
Hawkeye

Yanıtlar:


6

Erlang'ın nasıl çalıştığını düşünüyorum. Akka'nın çok benzer olduğuna inanıyorum.

Her işlemin tek bir posta kutusu vardır. Mesajlar gönderen tarafından alıcının posta kutusuna yerleştirilir ve kalıp eşleşmesi kullanılarak alıcı tarafından alınır. Bu eşleştirme işlemi, bir posta kutusundaki en eski iletinin eşleşmeyebileceği, ancak daha genç iletinin eşleştiği şekilde ileti sırasını değiştirebilir. Bu durumda önce genç olan tüketilir. Bunun dışında mesaj sıralaması korunur.

ππ

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.