Sobes.tech
Middle+

Aktör nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te Actor (Aktör), durumunu izole eden, farklı akışlardan eşzamanlı erişimi engelleyerek veri yarışlarını ortadan kaldıran bir türdür.

Ana özellikler:

  • Durum izolasyonu: Aktörün tüm özellikleri, uygun erişim belirteçleriyle yalnızca kendi yöntemleri veya diğer aktörler tarafından erişilebilir.
  • Asenkron etkileşim: Dışarıdan aktör yöntemlerine yapılan çağrılar her zaman asenkron olup await gerektirir. Bu, duruma erişimin atomik olmasını sağlar.
  • Miras yok: Aktörler kalıtımı desteklemez.
  • nonisolated let yok: Özellikler, sabitler (let) ise ve thread-safe bir tipe sahipse nonisolated olarak işaretlenebilir. Bu, await olmadan erişim sağlar.

Örnek:

actor Counter {
    private var value = 0

    func increment() {
        value += 1
    }

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

Kullanım:

// İzolasyon nedeniyle asenkron çağrı gereklidir
let myCounter = Counter()
await myCounter.increment()
let currentValue = await myCounter.getValue()

Aktörler, Swift'teki yeni eşzamanlı modelin ana bileşenleridir ve paylaşılan değişken durumunu çok iş parçacıklı uygulamalarda güvenli ve yapılandırılmış bir şekilde yönetmenin yolunu sağlar.