Sobes.tech
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)"
    }
}