Sobes.tech
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.