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.