Sobes.tech
Junior — Middle

Quais são as limitações no uso de threads para Dispatchers.Main no contexto das Coroutines?

sobes.tech IA

Resposta da IA

Dispatchers.Main no Kotlin Coroutines destina-se a iniciar coroutines na thread principal (UI) do Android.

Restrições:

  • Execução apenas na thread principal — não usar Dispatchers.Main para operações de fundo ou prolongadas, para não bloquear a UI.
  • A disponibilidade depende da plataforma — no Android, Dispatchers.Main funciona com o Looper da thread principal, em outros ambientes pode requerer configuração adicional.
  • Não adequado para tarefas intensivas de CPU ou IO — para essas, é melhor usar Dispatchers.IO ou Dispatchers.Default.

Exemplo de uso:

CoroutineScope(Dispatchers.Main).launch {
    // Atualizar UI
    textView.text = "A carregar..."
    val data = withContext(Dispatchers.IO) {
        // Operação longa
        fetchData()
    }
    textView.text = data
}