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.