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,
awaittalab qiladi. Bu holatga kirishni atomar qilishni ta’minlaydi. - Merosi yo‘q: Aktörlar meros olishni qo‘llab-quvvatlamaydi.
nonisolated letyo‘q: Xususiyatlarnonisolatedsifatida belgilanishi mumkin, agar ular konstantalar (let) bo‘lsa va oqim xavfsiz turga ega bo‘lsa. Bu ulargaawaitsiz 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.