Настройка асинхронного приложения (C# и Visual Basic)
Увеличить точность и гибкость асинхронных приложений можно с помощью методов и свойств, предоставляемых типом Task. В подразделах этого раздела показаны примеры, использующие CancellationToken и важные методы Task, такие как Task.WhenAll и Task.WhenAny.
С помощью WhenAny и WhenAll намного проще запускать несколько задач и ожидать их завершения, отслеживая одну задачу.
WhenAny возвращает задачу, которая завершается при завершении одной из задач в коллекции.
Примеры, в которых используется WhenAny, см. в разделах Отмена оставшихся асинхронных задач после завершения одной из них (C# и Visual Basic) и Запуск нескольких асинхронных задач и их обработка по мере завершения (C# и Visual Basic).
WhenAll возвращает задачу, которая завершается при завершении всех задач в коллекции.
Дополнительные сведения и пример, в котором используется WhenAll, см. в разделе Практическое руководство. Расширение пошагового руководства по асинхронным процедурам с использованием метода Task.WhenAll (C# и Visual Basic).
Эта глава включает следующие примеры.
Отмена асинхронной задачи или списка задач (C# и Visual Basic).
Отмена асинхронных задач после определенного периода времени (C# и Visual Basic)
Отмена оставшихся асинхронных задач после завершения одной из них (C# и Visual Basic)
Запуск нескольких асинхронных задач и их обработка по мере завершения (C# и Visual Basic)
Примечание
Для запуска примеров необходимо, чтобы на компьютере была установлена Visual Studio 2012, Visual Studio 2013, Visual Studio Express 2012 для Windows Desktop, Visual Studio Express 2013 для Windows или .NET Framework 4.5 или 4.5.1.
В проектах создается пользовательский интерфейс, содержащий кнопку, которая запускает процесс и кнопку, отменяющую его, как показано на следующем изображении. Кнопки называются startButton и cancelButton.
Загрузить полные проекты Windows Presentation Foundation (WPF) можно с сайта Пример асинхронности. Тонкая настройка приложения, а затем выполнить необходимые действия.
См. также
Основные понятия
Асинхронное программирование с использованием ключевых слов Async и Await (C# и Visual Basic)