Чему вы научитесь
- Создавать и управлять потоками с помощью Thread
- Применять синхронизацию через lock и Monitor для защиты общих ресурсов
- Использовать CancellationToken для корректной отмены долгих операций
- Обрабатывать исключения в многопоточной среде
- Различать назначение ConcurrentDictionary, ConcurrentQueue, ConcurrentStack, ConcurrentBag
- Сравнивать производительность обычных и concurrent коллекций
- Применять BlockingCollection для Producer-Consumer архитектур
- Анализировать компромиссы между безопасностью и скоростью
- Использовать Task и Task<T> для неблокирующих операций
- Применять основы async/await для упрощения асинхронного кода
- Комбинировать синхронный и асинхронный код
- Разрабатывать системы бронирования с конкурентным доступом
- Строить многопоточные математические вычисления (сложение матриц)
- Создавать Producer-Consumer системы для обработки данных
- Диагностировать и устранять Race Conditions и Deadlock'и
- Предотвращать гонки данных (Race Conditions)
- Правильно обрабатывать AggregateException в параллельном коде
- Корректно завершать Producer-Consumer системы
- Управлять жизненным циклом потоков и ресурсов
О курсе
Этот практический курс по многопоточности и параллельному программированию в C#/.NET создан для разработчиков, которые хотят освоить создание высокопроизводительных приложений. Вы изучите полный спектр инструментов: от базовых Thread и lock до современных PLINQ и потокобезопасных коллекций. Каждая тема подкреплена практическими примерами с разбором типичных ошибок и способов их избежать.
Особенность курса - пошаговое изучение от простых концепций к сложным паттернам с глубоким пониманием принципов работы. Вы освоите синхронизацию через Monitor и CancellationToken, научитесь правильно использовать Parallel.For с обработкой исключений, разберете стратегии PLINQ (WithMergeOptions, ForAll), изучите все типы concurrent коллекций и их применение.
Знание материала курса позволит вам с лёгкостью проходить технические собеседования на позиции middle/senior C# developer - многопоточность является одной из ключевых тем интервью для опытных разработчиков.
Для кого этот курс
Начальные требования
Уверенное знание языка C#
Наши преподаватели
Как проходит обучение
Курс состоит из небольших видеоуроков (всего их 86) с детальным текстовым сопровождением - каждая тема включает примеры кода и пошаговые объяснения принципов работы многопоточности. После изучения материала вы проходите тесты на понимание концепций и выполняете практические задания - пишете код
Программа курса
Сертификат
Что вы получаете
- Уверенность на технических собеседованиях
- ManualResetEventSlim
- Producer-Consumer архитектуры
- Thread
- lock
- Monitor
- Parallel
- PLINQ
- потокобезопасные коллекции
- Race Conditions
- Deadlock
- Пправильная обработка исключений
- Task
- async/await
- CancellationToken
- Карьерный рост в .NET
- SemaphoreSlim
- и др.