Тема 1. Как выглядит Kotlin Coroutine без макияжаТема 2. Kotlin suspend функцииКод Kotlin корутин выполняется в потоках, но важно понимать, что корутины не привязаны жестко к конкретным потокам. Их выполнение управляется диспетчерами (Dispatchers), которые определяют, в каком потоке или пуле потоков…
Тема 1. Как выглядит Kotlin Coroutine без макияжаТема 2. Kotlin suspend функцииТема 3. Kotlin Coroutine диспетчеры и потоки: где выполняются корутины?Что будет, если запустить тяжелую фоновую обработку данных, а пользователь закроет экран? Если мы не контролируем этот процесс, потоки продолжат работу, сжигая батарею, процессорное время и создавая утечки памяти.Для решения этой проблемы в Kotlin применяется концепция Structured Concurrency. Больше букав
При создании и запуске корутины компилятор создаст специальный класс 1. ContinuationContinuation (продолжение) — это объект, который представляет собой состояние выполнения корутины и позволяет возобновить её выполнение после приостановки.Continuation — это механизм, который…
Когда комитет стандартизации проектировал корутины, за кадром остался один неловкий момент: фрейм корутины (coroutine frame) — это динамический объект. Локальные переменные, буферы под чтение, аргументы и состояние автомата с точкой останова co_await должны где-то физически лежать, и по…