Sobes.tech
Junior — Middle

Kako se razlikuju Main dispatcher i Default dispatcher pri korišćenju korutina u Kotlinu?

sobes.tech АИ

Одговор од АИ

U Kotlinu, dispatcher-i (dispečeri) određuju na kom thread-u ili pool-u thread-ova će se izvršiti coroutine.

  • Main dispatcher — to je dispatcher koji pokreće coroutine na glavnom (UI) thread-u. Koristi se za ažuriranje interfejsa i interakciju sa UI elementima, gde je potrebno izvršavanje na glavnom thread-u.

  • Default dispatcher — to je podrazumevani dispatcher koji koristi pool thread-ova optimizovan za CPU-intenzivne zadatke. Ne blokira glavni thread i pogodan je za pozadinske izračune.

Primer:

// Pokretanje coroutine na glavnom thread-u
CoroutineScope(Dispatchers.Main).launch {
    // ažuriranje UI
}

// Pokretanje coroutine za pozadinski rad
CoroutineScope(Dispatchers.Default).launch {
    // teški računi
}

Ukratko, Main dispatcher — za UI thread, Default — za pozadinske CPU zadatke.