Sobes.tech
Junior — Middle

Pode explicar o que se entende por conceito de MainActor no contexto de programação paralela?

sobes.tech IA

Resposta da IA

MainActor é um conceito de programação paralela em Swift (e outras linguagens com suporte a atores) que garante que um determinado código será executado na thread principal (main thread). A thread principal geralmente é responsável por atualizar a interface do usuário e interagir com o usuário.

O uso do MainActor permite acessar de forma segura elementos da interface e outros recursos que não são seguros para threads, evitando condições de corrida e problemas de sincronização.

Exemplo de uso em Swift:

@MainActor
class ViewModel {
    var title: String = ""

    func updateTitle() {
        title = "Atualizado"
    }
}

Aqui, todos os métodos e propriedades da classe ViewModel serão executados na thread principal, o que simplifica o trabalho com a UI e previne erros relacionados à multitarefa.