Junior — Middle
Ako sa líšia Main dispatcher a Default dispatcher pri používaní coroutines v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu dispatcher-i (dispečeri) določajo, na katerem niti ali naboru niti bo izvajala coroutine.
-
Main dispatcher — je dispečer, ki zažene coroutine na glavnem (UI) niti. Uporablja se za posodabljanje vmesnika in interakcijo z elementi UI, kjer je potrebna izvedba na glavni niti.
-
Default dispatcher — je privzeti dispečer, ki uporablja nabor niti, optimiziran za CPU-intenzivne naloge. Ne blokira glavne niti in je primeren za ozadje izračune.
Primer:
// Zagon coroutine na glavni niti
CoroutineScope(Dispatchers.Main).launch {
// posodobitev UI
}
// Zagon coroutine za ozadje
CoroutineScope(Dispatchers.Default).launch {
// težki izračuni
}
Na kratko, Main dispatcher — za UI nit, Default — za CPU-intenzivne naloge v ozadju.