Junior — Middle
Pode explicar o que se entende por termo GlobalActor no contexto do Swift?
sobes.tech IA
Resposta da IA
Em Swift, GlobalActor é um atributo especial que permite definir um âmbito de execução global para código assíncrono, garantindo a segurança no acesso a recursos partilhados.
Quando marca uma classe, estrutura ou função com o atributo @GlobalActor, indica que todas as chamadas a esse código devem ser executadas num contexto específico (ator), que serializa o acesso, prevenindo condições de corrida.
Exemplo de definição de um ator global:
@globalActor
struct MyGlobalActor {
static let shared = MyActor()
}
actor MyActor {
// implementação
}
@MyGlobalActor
class SharedResource {
var value = 0
func update() {
value += 1
}
}
O uso de GlobalActor é conveniente para gerir de forma centralizada o acesso a estados ou recursos partilhados numa aplicação, especialmente em ambientes multithread com async/await.