Junior — Middle
Como diferem o dispatcher principal e o dispatcher padrão ao usar coroutines em Kotlin?
sobes.tech IA
Resposta da IA
No Kotlin, os despachadores (dispatchers) determinam em qual thread ou pool de threads a coroutine será executada.
-
Main dispatcher — é um despachador que inicia as coroutines na thread principal (UI). Usado para atualizar a interface e interagir com elementos de UI, onde é necessária execução na thread principal.
-
Default dispatcher — é um despachador padrão que usa um pool de threads otimizado para tarefas intensivas de CPU. Não bloqueia a thread principal e é adequado para cálculos em segundo plano.
Exemplo:
// Iniciar uma coroutine na thread principal
CoroutineScope(Dispatchers.Main).launch {
// atualizar UI
}
// Iniciar uma coroutine para trabalho em segundo plano
CoroutineScope(Dispatchers.Default).launch {
// cálculos pesados
}
Resumindo, Main dispatcher — para a thread de UI, Default — para tarefas de CPU em segundo plano.