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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Асинхронні потоки даних

    C# SELF
    62 рівень, 0 лекція
    У лекції розглянемо асинхронні послідовності у C#: IAsyncEnumerable<T>, ітерацію через await foreach, скасування за допомогою CancellationToken та атрибута [ EnumeratorCancellation]. Поговоримо про асинхронне звільнення ресурсів із IAsyncDisposable і await using: коли це потрібно й як застосовувати на практиці (читання великих файлів, стримінг із мережі, серверні API). Усе з прикладами й тонкощами використання.
    Відкрита
  • Синхронні та асинхронні генератори в C# ( yield)

    C# SELF
    62 рівень, 1 лекція
    У цій лекції ви розберетеся, як ледачо й безпечно генерувати дані в C# за допомогою генераторів на основі yield: що таке yield return і yield break, як компілятор будує машину станів для IEnumerable<T>/ IEnumerator<T>, де генератори застосовують на практиці та як працювати з асинхронними потоками через IAsyncEnumerable<T>, await foreach, await using, IAsyncDisposable і CancellationToken. Плюс — обмеження, підводні камені й поради щодо ефективного використання.
    Відкрита
  • Оптимізація продуктивності: ValueTask

    C# SELF
    62 рівень, 2 лекція
    У цій лекції розберемо, як структура ValueTask допомагає зменшувати алокації в асинхронних API, де результат нерідко доступний миттєво. Порівняємо з Task, обговоримо правила застосування, підводні камені (наприклад, повторний await), конвертацію через AsTask() і реальні сценарії з кешем. Ви дізнаєтеся, коли залишатися на звичному Task, а коли справді варто використовувати ValueTask.
    Відкрита
  • Channel: Виробник–споживач ( Channel)

    C# SELF
    62 рівень, 3 лекція
    У цій лекції ви познайомитеся з асинхронними каналами Channel для побудови патерну «Виробник–споживач»: розберемося, чим канали відрізняються від BlockingCollection<T> і ConcurrentQueue<T>, навчимося використовувати WriteAsync, ReadAsync і ReadAllAsync, створимо unbounded і bounded конвеєри, налаштуємо опції й обговоримо типові пастки під час закриття через Complete().
    Відкрита
  • Взаємодія асинхронного й синхронного коду

    C# SELF
    62 рівень, 4 лекція
    У лекції розберемо, як безпечно поєднувати асинхронний і синхронний код у C#: чому await «розриває» метод, як працюють SynchronizationContext і TaskScheduler, де доречно використовувати ConfigureAwait(false), і звідки беруться deadlock-и під час .Result/ .Wait(). Покажемо практичні патерни, правила й типові помилки, щоб ваш UI залишався відгукливим, а сервер — продуктивним.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush