Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Основные классы и концепции в Kotlin Coroutines:
CoroutineScope
: Определяет жизненный цикл корутин, запущенных внутри него. Позволяет отменить все дочерние корутины.
Job
: Представляет собой хэндл к корутине. Позволяет отслеживать её состояние, дождаться завершения, отменить.
Deferred
: Специальный тип Job
, представляющий значение, которое будет доступно позже. Используется для асинхронных вычислений, возвращающих результат. Результат можно получить с помощью функции .await()
.
Dispatcher
: Определяет поток или пул потоков, в котором выполняется корутина. Основные диспетчеры:
Dispatchers.Default
: Оптимизирован для CPU-интенсивных задач. Использует общий пул потоков.Dispatchers.IO
: Оптимизирован для I/O-операций (сеть, диск). Использует подходящее количество потоков.Dispatchers.Main
: Основной поток UI. Для обновления UI. Доступен на платформе Android и других с соответствующей зависимостью.Dispatchers.Unconfined
: Запускает корутину в текущем потоке, но возобновляет её в любом потоке, который возобновил suspending-функцию.Suspending function
: Функция, которая помечена ключевым словом suspend
и может быть приостановлена и возобновлена позже. Может
Основные классы и концепции в Kotlin Coroutines:
CoroutineScope
: Определяет жизненный цикл корутин, запущенных внутри него. Позволяет отменить все дочерние корутины.
Job
: Представляет собой хэндл к корутине. Позволяет отслеживать её состояние, дождаться завершения, отменить.
Deferred
: Специальный тип Job
, представляющий значение, которое будет доступно позже. Используется для асинхронных вычислений, возвращающих результат. Результат можно получить с помощью функции .await()
.
Dispatcher
: Определяет поток или пул потоков, в котором выполняется корутина. Основные диспетчеры:
Dispatchers.Default
: Оптимизирован для CPU-интенсивных задач. Использует общий пул потоков.Dispatchers.IO
: Оптимизирован для I/O-операций (сеть, диск). Использует подходящее количество потоков.Dispatchers.Main
: Основной поток UI. Для обновления UI. Доступен на платформе Android и других с соответствующей зависимостью.Dispatchers.Unconfined
: Запускает корутину в текущем потоке, но возобновляет её в любом потоке, который возобновил suspending-функцию.Suspending function
: Функция, которая помечена ключевым словом suspend
и может быть приостановлена и возобновлена позже. Может
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.