Junior — Middle
Môžete vysvetliť, čo sa rozumie pod pojmom 'Dispatchers' a ako sa používajú?
sobes.tech AI
Odpoveď od AI
V Kotlin Coroutines, Dispatchers sú objekty, ktoré určujú, na ktorom vlákne alebo poolu vlákien bude coroutine vykonaná.
Hlavné typy dispatcherov sú:
Dispatchers.Main— na prácu s UI vláknom (napríklad na Androide).Dispatchers.IO— pre vstupno-výstupné operácie, ako je čítanie súborov alebo sieťové požiadavky.Dispatchers.Default— pre CPU-intenzívne úlohy.Dispatchers.Unconfined— spustí coroutine v aktuálnom vlákne, ale môže sa prepínať.
Použitie:
GlobalScope.launch(Dispatchers.IO) {
// beží v poolu vlákien pre IO
val data = fetchData()
withContext(Dispatchers.Main) {
// aktualizácia UI
updateUI(data)
}
}
Týmto spôsobom pomáhajú Dispatchers efektívne spravovať vlákna a nezablokovať UI.