Диспетчеры корутин
Вопрос
Какие есть стандартные диспетчеры и для чего каждый?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Main: UI-поток Android (Main.immediate без лишнего диспатча). IO: блокирующий ввод-вывод, большой пул (64 или число ядер). Default: CPU-работа, потоков по числу ядер. Unconfined: без привязки, стартует в текущем потоке. IO и Default делят общий пул.
Разбор
Main: UI-поток Android (Main.immediate без лишнего диспатча). IO: блокирующий ввод-вывод, большой пул (64 или число ядер). Default: CPU-работа, потоков по числу ядер. Unconfined: без привязки, стартует в текущем потоке. IO и Default делят общий пул.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Корутины и structured concurrency»
- Последовательно или параллельно
- Проглоченный CancellationException
- Во что компилируется suspend-функция
- Почему цикл не отменяется
- Правила structured concurrency
- Чем плох GlobalScope
- launch или async
- Порядок событий при ошибке в дочерней корутине