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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Channel як черга повідомлень: send/ receive, capacity і close

    Kotlin SELF
    54 рівень, 0 лекція
    Розбираємо Channel у Kotlin Coroutines як типізовану чергу повідомлень між корутинами: чому операції send() і receive() є suspend, як capacity (буфер) впливає на поведінку відправника, як коректно завершувати потік повідомлень через close() і читання for ( x in ch), а також чому закриття каналу в finally рятує споживача від «вічного очікування».
    Відкрита
  • Producer–Consumer на Channel

    Kotlin SELF
    54 рівень, 1 лекція
    Розбираємо шаблон Producer–Consumer у Kotlin Coroutines: навіщо замість спільного MutableList використовувати Channel, як влаштовані ролі ( producer, worker, collector), як правильно закривати канали ( tasks і results) за протоколом і правилом «власник закриття», чому порядок результатів не гарантований, як впливає capacity і які помилки найчастіше призводять до зависань та падінь.
    Відкрита
  • Flow як cold‑потік: flow { emit }, collect і відмінність від Channel

    Kotlin SELF
    54 рівень, 2 лекція
    Розбираємо Flow у Kotlin Coroutines як cold-потік: як створити джерело через flow { emit }, чому без collect «нічого не відбувається», як виглядає завершення потоку без close(), і чим модель Flow принципово відрізняється від Channel (комунікація проти опису отримання значень). Наприкінці — типові помилки новачків і способи їх уникнути.
    Відкрита
  • Оператори Flow: map, filter, onEach, catch і backpressure

    Kotlin SELF
    54 рівень, 3 лекція
    Розбираємося, як будувати читабельний і тестований конвеєр на Flow: трансформації через map, відбір через filter, побічні ефекти через onEach, обробку помилок оператором catch і базову ідею backpressure (як потік природно «підлаштовується» під швидкість споживача завдяки suspend). Зберемо охайний пайплайн «рядки → події → сповіщення» й розберемо типові пастки.
    Відкрита
  • Помилки й скасування в Channel і Flow: cleanup та обробка винятків

    Kotlin SELF
    54 рівень, 4 лекція
    Розбираємо «протокол завершення» корутинних джерел даних: як коректно завершувати роботу з Channel через close(), чому читання через for (x in ch) безпечніше за receive() і як гарантувати прибирання (cleanup) через try/finally. Для Flow обговорюємо, де насправді перехоплюються винятки (upstream через catch, downstream — навколо collect), а також чому CancellationException не можна «випадково проковтнути», щоб не зламати скасування.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush