非同期アプリケーションの微調整 (C# および Visual Basic)
Task 型を使用できるメソッドとプロパティを使用して、非同期アプリケーションに精度と柔軟性を追加できます。 このセクションのトピックでは CancellationToken および Task.WhenAll などのような、重要な Task メソッドおよび Task.WhenAny の使用例を示します。
WhenAny と WhenAll を使用すると、複数のタスクをより簡単に開始し、単一のタスクを監視して、その完了を待機できます。
WhenAny は、コレクションのいずれかのタスクが完了すると完了するタスクを返します。
WhenAny の使用例については、「完了後の残りの非同期タスクのキャンセル (C# および Visual Basic)」および「完了時での複数の同期タスクとプロセスの実行 (C# および Visual Basic)」を参照してください。
WhenAll は、コレクションのすべてのタスクが完了すると完了するタスクを返します。
詳細および WhenAll の使用例については、方法: Task.WhenAll を使用して AsyncWalkthrough を拡張する (C# および Visual Basic) を参照してください。
ここでは、次の例について説明します。
注意
この例を実行するには、Visual Studio 2012、Visual Studio 2013、Visual Studio Express 2012 for Windows Desktop、Visual Studio Express 2013 for Windows、または .NET Framework 4.5 か 4.5.1 がコンピューターにインストールされている必要があります。
次の図が示すように、プロジェクトは、プロセスを開始するボタンとそれを取り消すボタンを含む UI を作成します。 ボタンの名前は startButton と cancelButton です。
完全な Windows Presentation Foundation (WPF) プロジェクトは「Async Sample: Fine Tuning Your Application (非同期のサンプル: アプリケーションの微調整)」からダウンロードできます。