Мы используем cookie для стабильной работы сервиса. Подробнее

C#: Разговоры о многопоточности без воды

ФорматОнлайн
Объём9 занятий
О курсе

Подробнее

Этот практический курс по многопоточности и параллельному программированию в C#/.NET создан для разработчиков, которые хотят освоить создание высокопроизводительных приложений. Вы изучите полный спектр инструментов: от базовых Thread и lock до современных PLINQ и потокобезопасных коллекций. Каждая тема подкреплена практическими примерами с разбором типичных ошибок и способов их избежать. Особенность курса - пошаговое изучение от простых концепций к сложным паттернам с глубоким пониманием принципов работы. Вы освоите синхронизацию через Monitor и CancellationToken, научитесь правильно использовать Parallel.For с обработкой исключений, разберете стратегии PLINQ (WithMergeOptions, ForAll), изучите все типы concurrent коллекций и их применение. Знание материала курса позволит вам с лёгкостью проходить технические собеседования на позиции middle/senior C# developer - многопоточность является одной из ключевых тем интервью для опытных разработчиков.
Требования

Что нужно для старта

  • Уверенное знание языка C#
Результат

Что вы получите

  • Создавать и управлять потоками с помощью 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# разработчиков уровня junior/middle, которые готовятся к техническим собеседованиям на позиции middle/senior developer и хотят уверенно отвечать на вопросы по многопоточности.
  • Если вы когда-либо получали вопросы про Race Conditions, Deadlock'и, примитивы синхронизации или PLINQ на интервью и чувствовали себя неуверенно - этот курс для вас.
Содержание

Программа курса

9 занятий
ТемаЧто внутри
01Начало

- 🚀 Добро пожаловать на курс!
- 👋 Давайте знакомиться!

02Основы многопоточности

- Пример с выводом информации о главном и вторичном потоках
- Пример параллельного запуска рабочих потоков
- Создание потоков с разными приоритетами, фоновым флагом и именам
- Замер производительности способов подсчёта суммы массива
- Самостоятельная работа: сложение матриц
- Самостоятельная работа: веб-сервис

03Синхронизация потоков

- Введение в гонку потоков и критическая секция
- Самостоятельная работа: система брони билетов
- Введение в Monitor
- Самостоятельная работа: билеты на мониторе
- Проблемы межпроцессного взаимодействия и Mutex
- ReaderWriterLockSlim

04Продвинутая синхронизация

- Проблема ресурсов: Semaphore и SemaphoreSlim
- Сигнальные объекты
- Состояние потоков и взаимная блокировка

05Управление жизненным циклом потоков

- Возврат результата из вторичного потока
- Остановка вторичного потока
- Пул потоков
- Самостоятельная работа: обновление сервера
- ThreadPool.RegisterWaitForSingleObject
- Обработка ошибок в многопоточном приложении

06Task и асинхронное программирование

- Асинхронность и Task: первые шаги
- Самостоятельная работа: переезд на Task
- Продолжение выполнения с ContinueWith
- Самостоятельная работа: ContinueWith
- Unwrap
- Обработка исключений в Task
- Самостоятельная работа: переезд Thread → Task
- Отмена Task через CancellationTokenSource

07Async/Await паттерн

- Волшебные async/await
- Синтаксис async/await и контекст потока
- Ошибки await Task.WhenAll

08Параллельное программирование

- Упоминание о Parallel
- Parallel LINQ
- Потокобезопасные коллекции
- Техническое задание: потокобезопасная очередь
- BlockingCollection
- Техническое задание: использование BlockingCollection

09Окончание

- Бонус оффер
- Что дальше?

01Начало

- 🚀 Добро пожаловать на курс!
- 👋 Давайте знакомиться!

02Основы многопоточности

- Пример с выводом информации о главном и вторичном потоках
- Пример параллельного запуска рабочих потоков
- Создание потоков с разными приоритетами, фоновым флагом и именам
- Замер производительности способов подсчёта суммы массива
- Самостоятельная работа: сложение матриц
- Самостоятельная работа: веб-сервис

03Синхронизация потоков

- Введение в гонку потоков и критическая секция
- Самостоятельная работа: система брони билетов
- Введение в Monitor
- Самостоятельная работа: билеты на мониторе
- Проблемы межпроцессного взаимодействия и Mutex
- ReaderWriterLockSlim

04Продвинутая синхронизация

- Проблема ресурсов: Semaphore и SemaphoreSlim
- Сигнальные объекты
- Состояние потоков и взаимная блокировка

05Управление жизненным циклом потоков

- Возврат результата из вторичного потока
- Остановка вторичного потока
- Пул потоков
- Самостоятельная работа: обновление сервера
- ThreadPool.RegisterWaitForSingleObject
- Обработка ошибок в многопоточном приложении

06Task и асинхронное программирование

- Асинхронность и Task: первые шаги
- Самостоятельная работа: переезд на Task
- Продолжение выполнения с ContinueWith
- Самостоятельная работа: ContinueWith
- Unwrap
- Обработка исключений в Task
- Самостоятельная работа: переезд Thread → Task
- Отмена Task через CancellationTokenSource

07Async/Await паттерн

- Волшебные async/await
- Синтаксис async/await и контекст потока
- Ошибки await Task.WhenAll

08Параллельное программирование

- Упоминание о Parallel
- Parallel LINQ
- Потокобезопасные коллекции
- Техническое задание: потокобезопасная очередь
- BlockingCollection
- Техническое задание: использование BlockingCollection

09Окончание

- Бонус оффер
- Что дальше?

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «C#: Разговоры о многопоточности без воды» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 7 сентября 2026 г.

Продолжить выбор

Похожие курсы

Основы C#
Основы C#

Курс несомненно подойдёт начинающим разработчикам, который хотят освоить современный и востребованный язык программирования. Курс мы начнём с изучения основ - встроенных в язык ти…

Онлайн10 занятий
3 999 ₽
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

Вы разовьёте аналитическое мышление, научитесь искать уязвимости и обеспечивать безопасность IT-систем. Освоите востребованную профессию даже с нулевым опытом в IT. Программа курс…

Онлайн
Бесплатноот 11 647 ₽/мес
Markdown синтаксис
Бесплатно2 часа
Markdown синтаксис

Этот курс предназначен для всех, кто работает с текстом в digital-среде. Вы освоите Markdown — универсальный язык разметки, который используют в GitHub, документации, блогах и соо…

Онлайн3 занятий
Бесплатно