Українська
Тема 5. Паралелізм задач: бібліотека TPL, скасування та обробка винятків; асинхронне програмування async/await
Мета: ознайомитися з бібліотекою паралельних задач TPL і моделлю асинхронного програмування async/await платформи .NET; навчитися запускати та поєднувати задачі, будувати графи задач із продовженнями, обробляти винятки AggregateException, скасовувати операції за допомогою токенів і таймаутів, повідомляти про прогрес; опанувати асинхронні потоки, TaskCompletionSource та обмеження кількості одночасних асинхронних операцій.
Зміст лекції
- Задачі, стани та продовження — Від потоків до задач · Стани задачі та очікування · Продовження та граф задач
- Винятки, скасування та таймаути — Обробка винятків · Кооперативне скасування · Прогрес і таймаути
- Модель async/await — Модель async/await · ValueTask, асинхронні потоки та PeriodicTimer · TaskCompletionSource<T>: перетворення подій на задачі
- Обмеження, антипатерни й налагодження — Обмеження кількості одночасних операцій · Антипатерни асинхронного коду · Налагодження задач у Rider
- Приклади та типові помилки — Приклади програм · Типові помилки