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)
}