JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Знайомство з корутинами

    Kotlin SELF
    52 рівень, 0 лекція
    Розбираємо базову мотивацію корутин у Kotlin: чим блокування потоку через Thread.sleep відрізняється від призупинення корутини через delay; що означає ключове слово suspend (це контракт, а не «прискорювач»); навіщо потрібна бібліотека kotlinx.coroutines і «міст» runBlocking; а також яких помилок найчастіше припускаються новачки під час першого знайомства з асинхронністю.
    Відкрита
  • runBlocking у консольному main: коректний запуск корутин

    Kotlin SELF
    52 рівень, 1 лекція
    Розбираємося, чому зі звичайного main не можна безпосередньо викликати suspend-функції; як runBlocking працює як «міст» у корутинний світ; і чому він насправді блокує потік. Підʼєднуємо залежність kotlinx.coroutines і вибудовуємо правильний стиль: один runBlocking у точці входу та ланцюжок suspend-сценаріїв (наприклад, runApp). Наприкінці розглянемо практичний приклад: завантаження даних і формування звіту.
    Відкрита
  • suspend і delay vs Thread.sleep — як «чекати правильно»

    Kotlin SELF
    52 рівень, 2 лекція
    Розбираємося, чим відрізняється «очікування» в корутинах і в потоках. Навіщо потрібен suspend як чесний контракт функції, як працює delay (призупиняє корутину без блокування потоку) і чому Thread . sleep «заморожує» реальний потік. Закріплюємо різницю таблицею, практичним патерном «очікування всередині suspend-функції» та списком типових помилок.
    Відкрита
  • launch і async/await — корутини «для дій» і «для результату»

    Kotlin SELF
    52 рівень, 3 лекція
    Розбираємо два основні будівники корутин із kotlinx.coroutines: launch (корутина заради дії / побічного ефекту) і async (корутина заради результату). Зʼясуємо, що таке Deferred<T>, навіщо потрібен await(), як не зруйнувати конкурентність передчасним очікуванням, де доречно поєднувати launch і async, а також яких помилок найчастіше припускаються новачки.
    Відкрита
  • Dispatchers і типові помилки: GlobalScope, await(), блокування

    Kotlin SELF
    52 рівень, 4 лекція
    Розбираємося, як вибрати правильний Dispatcher для корутини: Dispatchers.Default — для CPU-обчислень, а Dispatchers.IO — для блокувального введення/виведення. Окремо розглядаємо часті проблеми: використання GlobalScope у консольних застосунках, забутий await() у Deferred<T>, а також блокування через Thread . sleep ( ... ) замість коректного delay ( ... ). Наприкінці — мінісценарій із паралельними звітами та схема вибору «де це має виконуватися».
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush