Sobes.tech
Junior — Middle

Pode explicar o que se entende por 'Dispatchers' e como são utilizados?

sobes.tech IA

Resposta da IA

Nos Coroutines Kotlin, Dispatchers são objetos que determinam em qual thread ou pool de threads a coroutine será executada.

Os principais tipos de despachantes são:

  • Dispatchers.Main — para trabalhar com a thread de UI (por exemplo, no Android).
  • Dispatchers.IO — para operações de entrada/saída, como leitura de arquivos ou requisições de rede.
  • Dispatchers.Default — para tarefas intensivas de CPU.
  • Dispatchers.Unconfined — inicia a coroutine na thread atual, mas pode mudar de thread.

Uso:

GlobalScope.launch(Dispatchers.IO) {
    // executa no pool de threads para IO
    val data = fetchData()
    withContext(Dispatchers.Main) {
        // atualização da UI
        updateUI(data)
    }
}

Dessa forma, os Dispatchers ajudam a gerenciar eficientemente as threads e a não bloquear a UI.