Курс «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
Название: С# асинхронное программирование
Год выхода: 2020
Автор: Владислав Гнатюк
Жанр: Видеокурс, программирование, разработка, обучение
Формат: MP4
Видео: AVC | 1280x720 | ~1166 Kbps
Аудио: AAC | 128 kb/s | 48 KHz
Язык: Русский
Продолжительность: 20:50:16
Размер: 11.02 Gb
Забрать С# асинхронное программирование (2020)