Вопрос проверяет понимание различий между двумя основными диспетчерами Kotlin Coroutines и их оптимальных сценариев использования.
Dispatchers.Default – для CPU-интенсивных задач (сортировка, вычисления).
Dispatchers.IO – для операций ввода-вывода (сеть, файлы, БД).
Пул потоков: Размер равен числу CPU-ядер (минимум 2).
Использование:
Математические вычисления.
Обработка больших массивов данных.
launch(Dispatchers.Default) { sortLargeList() }Пул потоков: Динамически расширяется (до 64 потоков).
Использование:
Сетевые запросы (Retrofit, OkHttp).
Работа с файлами или БД (Room).
launch(Dispatchers.IO) { fetchDataFromApi() }Вывод:
Используйте Default для вычислений, IO – для блокирующих операций.