Sobes.tech
Middle+

Aktör nima?

sobes.tech AI

AIdan javob

Swift'da Actor (Aktör) — bu holatni izolyatsiya qiladigan tur bo‘lib, turli oqimlardan bir vaqtning o‘zida kirishni oldini oladi va shunday qilib, ma'lumotlar urushlarini bartaraf etadi.

Asosiy xususiyatlar:

  • Holatni izolyatsiya qilish: Aktörning barcha xususiyatlari faqat uning metodlari yoki boshqa aktörlar tomonidan mos kirish modifikatorlari bilan kirish mumkin.
  • Asinxron o‘zaro ta’sir: Aktör metodlariga tashqaridan chaqirishlar har doim asinxron bo‘lib, await talab qiladi. Bu holatga kirishni atomar qilishni ta’minlaydi.
  • Merosi yo‘q: Aktörlar meros olishni qo‘llab-quvvatlamaydi.
  • nonisolated let yo‘q: Xususiyatlar nonisolated sifatida belgilanishi mumkin, agar ular konstantalar (let) bo‘lsa va oqim xavfsiz turga ega bo‘lsa. Bu ularga awaitsiz kirishni imkonini beradi.

Misol:

actor Counter {
    private var value = 0

    func increment() {
        value += 1
    }

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

Foydalanish:

// Izolyatsiya sababli asinxron chaqiruv talab qilinadi
let myCounter = Counter()
await myCounter.increment()
let currentValue = await myCounter.getValue()

Aktörlar Swift'dagi yangi raqobat modelining asosiy komponentlaridan bo‘lib, umumiy o‘zgartiriladigan holatni xavfsiz va tuzilgan tarzda boshqarish imkonini beradi.