Sobes.tech
Junior — Middle

Qual é a necessidade de usar corutinas na programação?

sobes.tech IA

Resposta da IA

As coroutines são usadas para simplificar a programação assíncrona e a gestão de multitarefa sem bloquear o thread principal. No Android, isto é especialmente importante para não bloquear o thread de UI ao executar operações longas, como pedidos de rede ou trabalho com bases de dados.

As coroutines permitem escrever código assíncrono de forma sequencial, o que melhora a legibilidade e manutenção do código. Gerenciam eficientemente os recursos, suspendendo a execução sem criar novos threads.

Exemplo de uso de coroutines em Kotlin para fazer uma requisição de rede:

import kotlinx.coroutines.*

fun fetchData() {
    GlobalScope.launch(Dispatchers.Main) { // inicia uma coroutine no thread de UI
        val data = withContext(Dispatchers.IO) { // muda para um thread de fundo
            // simulação de requisição de rede
            fetchFromNetwork()
        }
        updateUI(data) // atualiza a UI com os dados recebidos
    }
}

suspend fun fetchFromNetwork(): String {
    delay(1000) // simulação de atraso
    return "Dados do servidor"
}

fun updateUI(data: String) {
    println(data)
}