Описание
Курс «C# Асинхронное программирование» будет полезен как начинающим разработчикам, так и опытным программистам, желающим улучшить уже имеющиеся знания об актуальных на сегодня технологиях создания асинхронного кода. На данном курсе будет углублённо рассмотрено само понятие асинхронности и современные приемы организации асинхронного выполнения участков кода на языке C# в различных программных шаблонах.
Чему вы научитесь на этом курсе:
- Использовать класс Task из библиотеки TPL для асинхронного выполнения методов.
- Создавать продолжения (Continuation) для логического завершения асинхронных задач.
- Управлять выполнением задач, создавая пользовательский планировщик задач.
- Понимать внутреннюю логику выполнения команд на основе ключевых слов async/await.
- Создавать асинхронные методы с использованием ключевых слов async/await.
- Ловить и обрабатывать исключения, полученные при выполнении асинхронного кода.
- Организовывать корректную отмену выполняемых задач.
- Работать с потокобезопасными коллекциями, написанными по шаблону Producer-Consumer.
- Работать с потокобезопасным словарем ConcurrentDictionary.
Урок №1. Введение в асинхронное программирование
– введение в асинхронное программирование
-асинхронный шаблон программирование TAP
-планировщик задач и дочерние задачи
-ключевые слова async await. Техническая реализация
– асинхронное программирование с async await
-работа контекста синхронизации с async await. Роль async await в ASP.NET
-асинхронный код – исключения и блокировка. Отмена задач
-потокобезопасные коллекции по шаблону Producer-Consumer
-потокобезопасные коллекции. ConcurrentDictionary
Урок №2. Асинхронный шаблон программирования task-based asynchronous pattern
– библиотека TPL (Task Parallel Library)
– TAP (Task-based Asynchronous Pattern)
– задача (Task)
– фабрика задач (Task Factory)
-продолжения задач (Task Continuations)
– ValueTask/ValueTask
– Task vs ValueTask
Урок №3. Планировщик задач. Дочерние задачи
-планировщик задач (Task Scheduler): функционал планировщика, готовые планировщики
-дочерние задачи
Урок №4. Ключевые слова async await. Техническая реализация
-ключевые слова async await
-асинхронные методы
-типы возвращаемых значений
-ожидаемые методы
-внутренняя реализация async await
-типы, поддерживающие работу ключевых слов «под капотом»
-объект ожидания завершения асинхронной задачи
-асинхронный метод Main
Урок №5. Работа контекста синхронизации с async await. Роль async await в ASP.NET
-использование async await в WPF
-класс SynchronizationContext –контекст синхронизации
-продолжения оператора await
-управление ожиданием
-класс ExecutionContext –контекст выполнения
-модификатор async для void
-асинхронные лямбда выражения
-использование async await ASP.NET
Урок №6. Асинхронное программирование с async await
-асинхронные операции
-асинхронные CPU операции
Асинхронные операции ввода-вывода
-асинхронность
– асинхронные шаблоны программирования
-создание асинхронных операций
-ограничения в использовании ключевых слов async await
Урок №7. Исключения в асинхронном коде. Скоординированная отмена. Блокировки
-обработка исключений из асинхронного кода
-скоординированная отмена
-блокировки
-прогресс асинхронной операции. IProgress
Урок №8. Потокобезопасные коллекции. Producer-consumer pattern. Класс parallel
-потокобезопасные коллекции
-разновидности потокобезопасных коллекций
-ConcurrentQueue
– ConcurrentStack
– ConcurrentBag
-шаюлоны Producer-Consumer. I ProducerConsumerCollection
-класс BlockingCollection
-параллельная обработка. Класс Parallel
-параллельные циклы (For, ForEach)
Урок №9. ConcurrentDictionary. PLINQ
– потокобезопасныq словарь ConcurrentDictionary
-описание API ConcurrentDictionary
-особенности работы с ConcurrentDictionary
-параллельная обработка. PLINQ
Отзывы
Отзывов пока нет.