Sobes.tech
Junior — Middle

Pode explicar o conceito de concorrência e o seu papel na programação?

sobes.tech IA

Resposta da IA

A concorrência é a capacidade de um programa executar várias tarefas simultaneamente ou sobrepor sua execução no tempo. Na programação, isso é importante para melhorar a eficiência na utilização de recursos, a capacidade de resposta das aplicações e acelerar o processamento de dados.

No iOS, por exemplo, a concorrência ajuda a realizar solicitações de rede, processamento de dados e atualização da interface de usuário em paralelo, sem bloquear o thread principal. Para isso, usam-se ferramentas como GCD (Grand Central Dispatch) e OperationQueue.

Exemplo de uso do GCD para uma tarefa assíncrona:

DispatchQueue.global(qos: .background).async {
    // Tarefa longa
    let result = performHeavyCalculation()
    DispatchQueue.main.async {
        // Atualização da UI
        self.label.text = "Resultado: \(result)"
    }
}