Sobes.tech
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.