Junior — Middle
Come si differenziano il dispatcher principale e il dispatcher predefinito nell'uso delle coroutine in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, i dispatcher determinano su quale thread o pool di thread verrà eseguita la coroutine.
-
Main dispatcher — è un dispatcher che avvia le coroutines sul thread principale (UI). Viene usato per aggiornare l'interfaccia e interagire con gli elementi UI, dove è richiesta l'esecuzione sul thread principale.
-
Default dispatcher — è un dispatcher predefinito che utilizza un pool di thread ottimizzato per compiti intensivi in CPU. Non blocca il thread principale ed è adatto per calcoli in background.
Esempio:
// Avviare una coroutine sul thread principale
CoroutineScope(Dispatchers.Main).launch {
// aggiornamento UI
}
// Avviare una coroutine per lavoro in background
CoroutineScope(Dispatchers.Default).launch {
// calcoli pesanti
}
In breve, Main dispatcher — per il thread UI, Default — per compiti CPU in background.