Тема 1. Как выглядит Kotlin Coroutine без макияжаТема 2. Kotlin suspend функцииКод Kotlin корутин выполняется в потоках, но важно понимать, что корутины не привязаны жестко к конкретным потокам. Их выполнение управляется диспетчерами (Dispatchers), которые определяют, в каком потоке или пуле потоков…
Тема 1. Как выглядит Kotlin Coroutine без макияжаТема 2. Kotlin suspend функцииТема 3. Kotlin Coroutine диспетчеры и потоки: где выполняются корутины?Что будет, если запустить тяжелую фоновую обработку данных, а пользователь закроет экран? Если мы не контролируем этот процесс, потоки продолжат работу, сжигая батарею, процессорное время и создавая утечки памяти.Для решения этой проблемы в Kotlin применяется концепция Structured Concurrency. Больше букав
При создании и запуске корутины компилятор создаст специальный класс 1. ContinuationContinuation (продолжение) — это объект, который представляет собой состояние выполнения корутины и позволяет возобновить её выполнение после приостановки.Continuation — это механизм, который…
Всем привет!В рамках программы Google Summer of Code 2023 мы с моим студентом разработали плагин для Intellij IDEA, который является аналогом Parallel Stacks из Visual Studio, CLion и Rider для Kotlin coroutines. Плагин анализирует стек трейсы каждой корутины в приложении и строит граф, объединяя общие наборы стек фреймов в вершины. Таким образом, во время отладки вашего приложения вы можете проанализировать потоки выполнения всех корутин в вашей программе. Читать далее