微调异步应用程序(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)。
本节包括以下示例。
备注
若要运行此示例,需在计算机上安装 Visual Studio 2012、Visual Studio 2013、Visual Studio Express 2012 for Windows Desktop(Visual Studio Express 2012 for Windows Desktop)、Visual Studio Express 2013 for Windows 或 .NET Framework 4.5 或 4.5.1。
如下图所示,该项目创建一个 UI,其中包含启动进程的按钮和取消进程的按钮。 按钮被命名为 startButton 和 cancelButton。
您可以从 Async 示例:优化应用程序中下载完整的 Windows Presentation Foundation (WPF) 项目。