Junior — Middle
Quais recursos estão disponíveis no SDK do iOS para lidar com multithreading?
sobes.tech IA
Resposta da IA
No SDK do iOS, utilizam-se várias ferramentas principais para lidar com multitarefa:
-
Grand Central Dispatch (GCD) — API de baixo nível para gerir filas de tarefas. Permite executar tarefas de forma assíncrona ou síncrona em diferentes threads, simplificando o trabalho com multitarefa.
-
NSOperation e NSOperationQueue — mecanismo de nível superior baseado em objetos de operações. Permite criar dependências entre tarefas, cancelar operações e gerir prioridades.
-
Thread — classe para criar e gerir threads manualmente, usada com menos frequência devido à sua complexidade e risco de erros.
Exemplo de uso do GCD para executar uma tarefa de forma assíncrona:
DispatchQueue.global(qos: .background).async {
// Tarefa de fundo
let result = heavyCalculation()
DispatchQueue.main.async {
// Atualização da UI no thread principal
self.label.text = "Resultado: \(result)"
}
}