Выбор ответа Middle Корутины и structured concurrency спрашивают часто обновлено

Dispatchers.IO и Dispatchers.Default

Вопрос

Где выполнять сортировку списка из миллиона элементов?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Dispatchers.Default. Default предназначен для CPU-работы: потоков столько, сколько ядер, больше потоков для вычислений не дадут прироста.

Варианты ответа

  1. Dispatchers.Main
  2. Dispatchers.IO
  3. Dispatchers.Defaultправильный ответ
  4. Dispatchers.Unconfined

Разбор

Default предназначен для CPU-работы: потоков столько, сколько ядер, больше потоков для вычислений не дадут прироста. IO рассчитан на блокирующий ввод-вывод, где потоки в основном ждут, поэтому его пул большой (64 потока по умолчанию). Main это UI-поток, сортировка там заморозит интерфейс. Unconfined не задаёт поток вообще.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.