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ə
awaittə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 letyoxdur: Xüsusiyyətlərnonisolatedkimi işarələnə bilərsə, əgər onlar sabitlər (let) və çox thread-lik təhlükəsiz tiplərdirsə. Bu, onlaraawaitolmadan 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.