Middle+
Актёр деген эмне?
sobes.tech AI
AIден жооп
Swift-деги Actor (Актёр) — бул өзүнүн абалын изоляциялай турган түр, ал ар башка агымдардан бир убакта кирүүгө жол бербейт жана ошентип маалымат күрөшүн жокко чыгарат.
Негизги өзгөчөлүктөрү:
- Абалды изоляциялоо: Актёрдун бардык мүнөздөмөлөрү анын методдорунан же башка актёрлордон гана тиешелүү кирүү модификаторлору менен жеткиликтүү.
- Асинхрон өз ара аракеттенүү: Актёрдун методторуна сырттан чакыруулар дайыма асинхрондуу жана
awaitталап кылынат. Бул абалга кирүүнү атомдук кылат. - Мурас алуу жок: Актёрлор мурас алууну колдобойт.
nonisolated letжок: Мүнөздөмөлөрnonisolatedдеп белгилениши мүмкүн, эгер алар константалар (let) жана агымга коопсуз түргө ээ болсо. Бул аларгаawaitсыз жетүүгө мүмкүндүк берет.
Мисал:
actor Counter {
private var value = 0
func increment() {
value += 1
}
func getValue() -> Int {
return value
}
}
Колдонуусу:
// Изоляция себептүү асинхрон чакыруусу керек
let myCounter = Counter()
await myCounter.increment()
let currentValue = await myCounter.getValue()
Актёрлор Swiftтин жаңы атаандаштык моделинин негизги компоненти болуп саналат, бөлүштүрүлгөн өзгөрмө абалды коопсуз жана түзүмдүү башкаруунун жолун камсыз кылат.