Асинхронное программирование на C# | IT Мероприятия

Асинхронное программирование на C#

Дата:29 июня, 2021 г.
Время:19:00-21:00
Цена:4300 USD
Ведущий:Владислав Гнатюк
.NET Developer
Описание:
Асинхронность — это важная составляющая любого современного ПО. К примеру, чтобы получить сообщение от друга в одной из соцсетей, вам не надо каждую секунду перезагружать переписку — можете спокойно смотреть видео из новостной ленты, а как только друг напишет — на экране высветится соответствующее уведомление. Это и множество других событий возможны благодаря асинхронности, которая реализована разработчиками и позволяет происходить нескольким событиям параллельно, а не поочередно, что очень удобно в современном высокоскоростном мире.   
 
Тренинг «Асинхронное программирование на C#» будет полезен как начинающим разработчикам, так и опытным программистам, желающим улучшить уже имеющиеся знания об актуальных на сегодня технологиях создания асинхронного кода. На тренинге будет углублённо рассмотрено само понятие асинхронности и современные приемы организации асинхронного выполнения участков кода на языке C#.
 
В ходе тренинга Вы освоите следующие темы: узнаете об асинхронности, параллельности и многопоточности, а также об их принципиальных различиях. Детально разберете шаблон параллельных вычислений, основанный на Promise, и поработаете с классом Task/Task<TResult>. Научитесь обрабатывать возникающие ошибки, применять фабрику задач, использовать планировщик задач. Хорошенько углубитесь в тему ключевых слов async/await и узнаете множество полезной информации касательно работы с ними. В конце рассмотрите параллельное программирование и совмещение параллельных вычислений с асинхронностью.
 
Предварительные требования
 
Хорошее знание C#, опыт работы со средой разработки Visual Studio. 
 
Программа тренинга:
 
1. Введение. Асинхронность, Параллельность и Многопоточность
 
2. Шаблон параллельных вычислений, основанный на Promise. Класс Task/Task<TResult>.
 
  • Разбор шаблона
  • Реализация в виде классов Task и Task<TResult>
  • Отличия задач от потоков
  • Способы ожидания и получения результата от задачи
  • Настройка выполнения задач
  • Пул потоков под капотом по умолчанию. Использование выделенного потока вместо пула
3. Отмена выполнения, обработка ошибок в задачах.
  • Шаблон скоординированной отмены
  • Обработка ошибок из задач
4. Фабрика задач. Продолжения.
  • Разбор фабрики задач
  • Task.Run VS StartNew
  • Продолжения
  • Продолжения в задачах
  • Продолжения в фабрике задач
  • Ленивая отмена выполнения задачи
 5. Планировщик задач
  • Разбор понятия планировщик
  • Разбор функционала и состояния планировщика
  • Разбор стандартных планировщиков .NET
  • Создание кастомных планировщиков
6. Ключевые слова async await. Техническая реализация
  • Разбор назначения ключевых слов async await
  • Техническая реализация с классом Task
  • Техническая реализация с классом Task<TResult>
7. Продолжения оператора await.
  • Особенности работы оператора await
  • Контекст синхронизации
  • Контекст выполнения. Отличия от контекста синхронизации
  • Планировщик задач
  • Пул потоков
8. Асинхронный шаблон программирования TAP с помощью async await
  • Асинхронность
  • Асинхронное программирование. Реализация TAP
  • Асинхронность VS параллельность
  • Асинхронные операции
  • Создание асинхронных операций
9. Особенности использования async await
  • Async Void
  • Async Lambda
  • Работа async await WPF/WinForm
  • Работа async await ASP.NET
  • Обработка исключений от асинхронных операций
10. Параллельные вычисления
  • Класс Parallel
  • Параллельный Invoke. Работа под капотом
  • Параллельный цикл For. Работа под капотом
  • Параллельный цикл ForEach. Работа под капотом
  • Совмещение параллельных вычислений с асинхронностью
 
По завершению тренинга Вы сможете:
 
  • Использовать класс Task из библиотеки TPL для асинхронного выполнения методов
  • Управлять выполнением задач, создавая пользовательский планировщик задач
  • Понимать внутреннюю логику выполнения команд на основе ключевых слов async/await
  • Создавать асинхронные методы с использованием ключевых слов async/await
  • Применять техники параллельного программирования для распараллеливания выполняемых задач
  • Ловить и обрабатывать исключения, полученные при выполнении асинхронного кода
 
Когда: с 29 июня по 20 июля 2021 года
Продолжительность: 20 часов (10 занятий по 2 часа)
Время занятий: с 19:00 до 21:00 — вт/чт/сб
Формат встреч: Live Online сессии (Zoom)
Стоимость: 4300 грн