Sobes.tech
Junior — Middle

Qual é a diferença entre Dispatchers nas corrotinas Kotlin?

sobes.tech IA

Resposta da IA

No Kotlin, as corrotinas usam diferentes despachantes (Dispatchers) para determinar em qual thread ou pool de threads o código da corrotina será executado. Os principais despachantes:

  • Dispatchers.Main — usado para executar corrotinas no thread principal (UI). Adequado para atualizar a interface do usuário no Android.

  • Dispatchers.IO — otimizado para operações de entrada/saída (leitura/escrita de arquivos, requisições de rede). Usa um pool de threads que pode ser expandido conforme necessário.

  • Dispatchers.Default — usado para tarefas intensivas de CPU (cálculos, processamento de dados). Opera em um pool de threads cujo número depende do número de núcleos do processador.

  • Dispatchers.Unconfined — inicia a corrotina no thread atual até a primeira suspensão, depois continua no thread que retoma a corrotina. Raramente usado, por exemplo, para testes.

A escolha do despachante afeta o desempenho e a correção do funcionamento do aplicativo, especialmente no Android, onde operações de UI devem ser feitas no thread principal, e tarefas pesadas, em segundo plano.