Sobes.tech
Middle+

Aktyor nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də Actor (Aktör) öz vəziyyətini izolyasiya edən bir növdür, müxtəlif axınlardan eyni zamanda girişin qarşısını alır və beləliklə məlumat yarışlarını aradan qaldırır.

Əsas xüsusiyyətlər:

  • Vəziyyətin izolyasiyası: Aktörün bütün xüsusiyyətləri yalnız onun metodlarından və ya digər aktörlərdən uyğun giriş modifikatorları ilə əldə edilə bilər.
  • Asinxron qarşılıqlı əlaqə: Aktörün metodlarına xaricdən edilən çağırışlar həmişə asinxron olur və await tələb edir. Bu, vəziyyətə girişin atomar olmasını təmin edir.
  • Miras yoxdur: Aktörlər miras dəstəkləmir.
  • nonisolated let yoxdur: Xüsusiyyətlər nonisolated kimi işarələnə bilərsə, əgər onlar sabitlər (let) və çox thread-lik təhlükəsiz tiplərdirsə. Bu, onlara await olmadan giriş imkanı verir.

Nümunə:

actor Counter {
    private var value = 0

    func increment() {
        value += 1
    }

    func getValue() -> Int {
        return value
    }
}

İstifadə:

// İzolyasiya səbəbindən asinxron çağırış tələb olunur
let myCounter = Counter()
await myCounter.increment()
let currentValue = await myCounter.getValue()

Aktörlər Swift-də yeni konkurrent modelin əsas komponentlərindən biridir və paylaşılan və dəyişkən vəziyyəti çox thread-lik tətbiqlərdə təhlükəsiz və strukturlaşdırılmış şəkildə idarə etməyə imkan verir.