Какие есть CoroutineScope и Dispatcher, и как они применяются?
Для чего нужен SupervisorJob? Как создать кастомный CoroutineScope?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
2
Сложность:
6
CoroutineScope определяет жизненный цикл корутин, например GlobalScope, viewModelScope, lifecycleScope, а Dispatcher указывает, на каком потоке выполнять код: Dispatchers.Main для UI, Dispatchers.IO для I/O, Dispatchers.Default для CPU-интенсивных задач. Их комбинируют, чтобы корутины запускались в нужных условиях и отменялись вместе с жизненным циклом.
Рейтинг:
2
Сложность:
5
SupervisorJob: ошибка в одной корутине не отменяет другие.
Кастомный CoroutineScope:
val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO)