Aktör Model Programlama

0 677

Serinin devamı amacıyla temel Scala bilgisi için önceki yazılara aşağıdaki linklerden ulaşabilirsiniz.

Java’cılar Için Scala – 1 [Temel]

Java’cılar Için Scala – 2 [Collections]

Java’cılar Için Scala – 3 [OOP]

 

Actor Model

İşlemcilerin gelişip multi thread, multi core hale gelmesiyle (yaşım itibariyle benim için bilgisayarlar hep hızlıydı :D) uygulamalarımız hızlandı fakat …

Eğer OOP diller ile çalışıp üzerinde bir de dağıtık sistemlerde çözüm geliştiriyorsanız concurrency ciddi bir problem oluşturduğunu zaten yaşadınız demektir. Bu sorunu çözmek için distributed lock mekanizmalarıyla da uğraşmışsınızdır. Bildiğimiz üzer bir nesnenin bir özelliğini birden fazla thread değiştirebilir ve yani bir Race Condition durumu oluşabilir. Bunun için Java’da aynı anda tek bir threading çalışması synchronized blok ve ya method oluşturabiliriz. Bununla beraberde dead-lock‘ların oluşması kaçınılmaz.

Bu noktada Actor Model Programlama kendini şöyle tanımlıyor.

  • her şey aktördür.
  • dağıtıktır.
  • aktör işlem parçasıdır. mesaj alır ve işlerler.
  • asenkron haberleşir.
  • actor’ler kendi işini yapmakla yükümlüdür.
  • aktör’ler state (durumlara) sahiptirler.
  • mailbox’ları vardı ve bu şekilde haberleşirler.
  • aynı anda tek tek thread işlem yapar.
  • memory paylaşmazlar dolayısıyla başka bir actor direkt olarak değiştirme mesaj yoluyla değiştirir

 

 

 

 

 

 

Kaynakça ve daha fazla bilgi için;

Kanalımızdaki diğer videolar için;

Bilisimio Youtube 

  • Kubilay KULAOĞLU
  • Kürşat KURT
  • Sadık Bilge ATALAY  abilerime teşekkürler.

 

Faydalı olması dileğiyle.

Email adresiniz yayınlanmayacaktır.