JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Введение в Concurrent-коллекции

    C# SELF
    58 уровень,0 лекция
    В лекции разберём, почему обычные коллекции вроде List<T> и Dictionary<TKey, TValue> ломаются в многопоточности (гонки данных), почему одного lock часто недостаточно, и как потокобезопасные коллекции из System.Collections.Concurrent решают эти проблемы. Рассмотрим ключевые структуры: ConcurrentQueue<T>, ConcurrentStack<T>, ConcurrentBag<T>, ConcurrentDictionary<TKey, TValue>, их сценарии (producer–consumer, кэширование, пулы объектов) и критерии выбора.
    Открыта
  • Очереди и стеки Producer-Consumer

    C# SELF
    58 уровень,1 лекция
    Разбираем паттерн Производитель-Потребитель на основе потокобезопасных коллекций .NET: ConcurrentQueue<T> (FIFO) и ConcurrentStack<T> (LIFO). Вы увидите, как использовать методы Enqueue()/ TryDequeue() и Push()/ TryPop(), зачем нужна атомарность операций, как построить многопоточный конвейер и организовать пул объектов. В конце — сравнение сценариев применения для выбора правильной структуры.
    Открыта
  • ConcurrentBag и ConcurrentDictionary

    C# SELF
    58 уровень,2 лекция
    Разберём две ключевые потокобезопасные коллекции .NET: ConcurrentBag — быстрый «мешок» без гарантии порядка с оптимизацией под локальный доступ потоков, и ConcurrentDictionary — высокопроизводительный словарь с атомарными операциями ( TryAdd, TryUpdate, GetOrAdd, AddOrUpdate). Поговорим о внутренних принципах работы, типичных сценариях и практических примерах.
    Открыта
  • Продвинутые паттерны и особенности Concurrent-коллекций

    C# SELF
    58 уровень,3 лекция
    Разбираем многопоточные паттерны на базе коллекций Concurrent: реализацию "Производитель—Потребитель" с ConcurrentQueue и BlockingCollection<T>, корректную сигнализацию завершения через CancellationTokenSource, а также важные нюансы свойств Count/ IsEmpty, метода ToArray() и итерации, чтобы писать надёжный и предсказуемый код.
    Открыта
  • Паттерны потокобезопасности

    C# SELF
    58 уровень,4 лекция
    Разбираем, как устроены lock-free и wait-free алгоритмы, почему коллекции из пространства имён System.Collections.Concurrent масштабируются лучше обычных под lock, и как ядро .NET опирается на атомарные операции через System.Threading.Interlocked и CAS ( CompareExchange). Посмотрим на производительность, влияние contention, кратко заглянем под капот ConcurrentQueue<T>, выберем правильную коллекцию под задачу и обсудим практические советы по оптимизации ( ToArray(), Count, группировка операций).
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush