Junior — Middle
Tudná magyarázni, hogy mit értünk a MainActor fogalma alatt párhuzamos programozás kontextusában?
sobes.tech MI
Válasz az MI-től
MainActor a párhuzamos programozás egyik fogalma Swiftben (és más aktorokat támogató nyelvekben), amely garantálja, hogy bizonyos kód a fő szálon (main thread) fusson. A fő szál általában a felhasználói felület (UI) frissítéséért és a felhasználóval való interakcióért felelős.
A MainActor használatával biztonságosan hozzáférhetünk a felhasználói felület elemeihez és más, nem szálbiztos erőforrásokhoz, elkerülve a versenyhelyzeteket és a szinkronizációs problémákat.
Swiftben például így használható:
@MainActor
class ViewModel {
var title: String = ""
func updateTitle() {
title = "Frissítve"
}
}
Ebben az esetben a ViewModel osztály összes metódusa és tulajdonsága a fő szálon fog futni, ami megkönnyíti a UI-val való munkát és megelőzi a több szálas problémákat.