Junior — Middle
Czym różnią się główny dispatcher i domyślny dispatcher podczas korzystania z korutyn w Kotlinie?
sobes.tech AI
Odpowiedź od AI
W Kotlinie dispatchery (dyspozytory) określają, na którym wątku lub puli wątków będzie wykonywana korutyna.
-
Main dispatcher — to dyspozytor, który uruchamia korutyny na głównym (UI) wątku. Używany do aktualizacji interfejsu i interakcji z elementami UI, gdzie wymagana jest realizacja na głównym wątku.
-
Default dispatcher — to domyślny dyspozytor, który korzysta z puli wątków zoptymalizowanej do wykonywania zadań intensywnych obliczeniowo. Nie blokuje głównego wątku i nadaje się do obliczeń w tle.
Przykład:
// Uruchomienie korutyny na głównym wątku
CoroutineScope(Dispatchers.Main).launch {
// aktualizacja UI
}
// Uruchomienie korutyny do pracy w tle
CoroutineScope(Dispatchers.Default).launch {
// ciężkie obliczenia
}
Podsumowując, Main dispatcher — dla wątku UI, Default — dla zadań CPU w tle.