2015-11-24 34 views
10

Bildiğim kadarıyla, Aktör modeli eşzamanlılık hakkında bir teori. Erlang ve Scala'nın her ikisi de bu teori modelini uygular, ancak uygulamalarının hiçbiri tamamen Aktör modeli ile uyumlu değildir.Erlang Aktörler, Scala Aktörler ve "Aktör" teorik kavramı arasındaki fark nedir?

Bilgisayar bilimcileri açısından bakıldığında, Erlang, Scala'daki "Aktör" kavramı ile bu teorik model arasındaki farklar nelerdir?

+2

bu belki yararlı olabilir https://rocketeer.be/articles/concurrency-in-erlang-scala/ –

+4

Algıladığınız belirli farklılıklar hakkında soru sorarsanız daha fazla yardımcı olacağını düşünüyorum. Ayrıca, "kağıttaki aktörler" ile ne demek istiyorsun? –

+0

Kafa karıştırıcı ifadem için özür dilerim. Bilgisayar bilimi terimlerindeki farklılıkları bilmek istiyorum. – huron

cevap

1

En büyük farkın uygulama olduğunu düşünüyorum, bunun uygun olup olmadığından emin değilim. Erlang size birkaç özelliklere sahip: hafıza paylaşmaz

  • süreçleri, bir süreç içinde bu nedenle bir hata olabilir doğrudan taşma çöp toplama bir seferde tek bir işlemde üzerinde çalışıyor başka süreçler
  • için, yok değil global VM kilitlemesi

Bunlar benim için Erlang'ın aktör modelinin Scala da dahil olmak üzere diğer sistemlerden üstün olduğunu düşündüğüm en büyük farklar.

Daha pratik bir yaklaşımda, sıklıkla Scala'nın aktör uygulaması kullanım durumu için yeterince iyidir. Tek kullanım seçeneğinizin Erlang kullanmak olduğu durumlarda, az sayıda kullanım durumu vardır (örneğin, sıkı gecikme gerekliliklerinin korunması, örneğin p50 için p99 ile aynı gecikme olması gerekir).