title | ms.date | ms.assetid |
---|---|---|
Fine-Tuning Your Async Application (C#) |
07/20/2015 |
97696eb9-81fc-4940-9655-84daa8eb4d5c |
You can add precision and flexibility to your async applications by using the methods and properties that the xref:System.Threading.Tasks.Task type makes available. The topics in this section show examples that use xref:System.Threading.CancellationToken and important Task
methods such as xref:System.Threading.Tasks.Task.WhenAll%2A?displayProperty=nameWithType and xref:System.Threading.Tasks.Task.WhenAny%2A?displayProperty=nameWithType.
By using WhenAny
and WhenAll
, you can more easily start multiple tasks and await their completion by monitoring a single task.
-
WhenAny
returns a task that completes when any task in a collection is complete.For examples that use
WhenAny
, see Cancel Remaining Async Tasks after One Is Complete (C#) and Start Multiple Async Tasks and Process Them As They Complete (C#). -
WhenAll
returns a task that completes when all tasks in a collection are complete.For more information and an example that uses
WhenAll
, see How to extend the async walkthrough by using Task.WhenAll (C#).
This section includes the following examples.
Note
To run the examples, you must have Visual Studio 2012 or newer and the .NET Framework 4.5 or newer installed on your computer.
The projects create a UI that contains a button that starts the process and a button that cancels it, as the following image shows. The buttons are named startButton
and cancelButton
.
You can download the complete Windows Presentation Foundation (WPF) projects from Async Sample: Fine Tuning Your Application.