Асинхронность и многопоточность в C#. Продвинутый уровень
Системный курс: шаг за шагом формируем полное понимание concurrency в C#.
Записаться на курс
ДЛИТЕЛЬНОСТЬ
5,5 месяцев
ОНЛАЙН-ФОРМАТ
Удобный график
270+
Практический заданий
СЛОЖНОСТЬ
Продвинутый
АВТОРЫ-ЭКСПЕРТЫ
Тут будет текст
НАЧНИ ПРЯМО
Сейчас
Описание курса
На сегодняшний день асинхронность и параллелизм - это одни из самых сложных тем для освоения в рамках разработки программного обеспечения. Вместе с тем, это и наиболее значимые области, в которых должен разбираться современный backend-разработчик на C#. Редко какое собеседование проходит без общения на эту тему. Мы постарались всесторонне охватить (насколько это для нас показалось возможным и необходимым) темы многопоточности, асинхронности, конкурентности и параллелизма на C#. В рамках курса мы последовательно раскрываем темы, связанные с этими направлениями так, чтобы у учащихся сформировалось наиболее полное понимание материалов курса, причин почему возникли те или иные технологии, а также понимание того, как с ними работать. Фокус курса именно на глубоком понимании сути: мы разбираем не только "как использовать", но и "как это работает". В курсе последовательно даны разделы с теорией, за которыми следуют практические блоки, в которых показаны примеры применения полученных ранее знаний. В уроках вам будут встречаться задания на закрепление пройденного материала, а в конце каждого модуля - большой урок с задачами.
Программа курса
Урок 1. Введение. Развитие вычислительной техники Урок 2. Многопоточность Урок 3. Конкурентность Урок 4. Асинхронность Урок 5. Параллелизм и реактивность Урок 6. Решение задач
Урок 1. Потоки исполнения. Часть 1 Урок 2. Потоки исполнения. Часть 2 Урок 3. Потоки исполнения. Часть 3 Урок 4. Пул потоков. ThreadPool. Часть 1 Урок 5. Пул потоков. ThreadPool. Часть 2 Урок 6. Решение задач
Урок 1. Синхронизация потоков. Блокировки Урок 2. Конструкции синхронизации потоков пользовательского режима Урок 3. Конструкции синхронизации потоков режима ядра Урок 4. Гибридные конструкции синхронизации Урок 5. Решение задач
Урок 1. Асинхронность в .NET до появления TAP Урок 2. Знакомство с классом Task Урок 3. Паттерн TAP (Task-based asynchronous pattern) Урок 4. async/await. Часть 1 Урок 5. async/await. Часть 2 Урок 6. Решение задач
Урок 1. Отмена заданий Урок 2. Работа с исключениями в задачах и информирование о прогрессе Урок 3. Комбинаторы задач Урок 4. Асинхронность. Продвинутые темы Урок 5. ValueTask, TaskCompletionSource и другие темы Урок 6. Решение задач
Урок 1. Параллелизм. TPL (Task Parallel Library). Часть 1 Урок 2. Параллелизм. TPL (Task Parallel Library). Часть 2 Урок 3. Параллелизм. PLINQ. Часть 1 Урок 4. Параллелизм. PLINQ. Часть 2 Урок 5. TPL Dataflow. Часть 1 Урок 6. TPL Dataflow. Часть 2 Урок 7. Решение задач
Урок 1. Асинхронные потоки Урок 2. Неизменяемые коллекции (Immutable collections) Урок 3. Потокобезопасные коллекции (Concurrent collections) Урок 4. Паттерн «Производитель-потребитель». BlockingCollection Урок 5. Решение задач