MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

TaskFactory.ContinueWhenAll 方法 (Task[], Action<Task[]>)

2013/12/13

创建一个延续 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 数组中的元素之一已经被释放时引发的异常。

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

显示:
© 2016 Microsoft