情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

TaskFactory.ContinueWhenAll メソッド (Task[], Action<Task[]>)

2013/12/12

指定した一連のタスクの完了時に開始される継続 Task を作成します。

Namespace:  System.Threading.Tasks
アセンブリ:  mscorlib (mscorlib.dll 内)

public Task ContinueWhenAll(
	Task[] tasks,
	Action<Task[]> continuationAction
)

パラメーター

tasks
型: System.Threading.Tasks.Task []
継続タスクの配列。
continuationAction
型: System.Action< Task []>
tasks 配列内のすべてのタスクが完了したときに実行するアクション デリゲート。

戻り値

型: System.Threading.Tasks.Task
新しい継続 Task

例外条件
ObjectDisposedException

tasks 配列の要素の 1 つが破棄されたときにスローされる例外。

ArgumentNullException

tasks 配列が null のときにスローされる例外。

または

continuationAction 引数が null のときにスローされる例外。

ArgumentException

tasks 配列に null 値が含まれるときにスローされる例外。

または

tasks 配列が空のときにスローされる例外。

この例では、ContinueWhenAll() を使用して、以前に開始されたタスクの完了によって継続を実行します。

// C#

// Create and start some tasks

var taskQueue = new Queue<Task>();

for (int i = 0; i < 10; i++)

{

taskQueue.Enqueue(Task.Factory.StartNew(() =>

{

// Do work.

}));

}

// Perform some work with the tasks when they complete.

Task.Factory.ContinueWhenAll(taskQueue.ToArray(), completedTasks =>

{

// Do continuation work.

});

' Visual Basic

' Create and start some tasks

Dim taskQueue As New Queue(Of Task)()

For i As Integer = 0 To 9

taskQueue.Add(Task.Factory.StartNew(Sub()

' Do work.

End Sub))

Next

' Perform some work with the tasks when they complete.

Task.Factory.ContinueWhenAll(taskQueue.ToArray(), Sub(completedTasks)

' Do continuation work.

End Sub)

Windows Phone OS

サポート: 8.0

表示: