Junior — Middle
Hoe verschillen de Main dispatcher en Default dispatcher bij het gebruik van coroutines in Kotlin?
sobes.tech AI
Antwoord van AI
In Kotlin bepalen de dispatchers (afzenders) op welke thread of threadpool de coroutine wordt uitgevoerd.
-
Main dispatcher — dit is een dispatcher die coroutines start op de hoofd (UI) thread. Gebruikt voor het bijwerken van de interface en interactie met UI-elementen, waar uitvoering op de hoofdthread vereist is.
-
Default dispatcher — dit is een standaard dispatcher die een threadpool gebruikt die geoptimaliseerd is voor CPU-intensieve taken. Het blokkeert de hoofdthread niet en is geschikt voor achtergrondberekeningen.
Voorbeeld:
// Start een coroutine op de hoofdthread
CoroutineScope(Dispatchers.Main).launch {
// UI bijwerken
}
// Start een coroutine voor achtergrondwerk
CoroutineScope(Dispatchers.Default).launch {
// zware berekeningen
}
Kortom, Main dispatcher — voor de UI-thread, Default — voor CPU-intensieve achtergrondtaken.