通过延续串联多个任务
链式任务:任务t1产生一个结果,任务t2需要t1的结果作为输入才能开始处理结果,TPL允许使用延续(continuation)来串联多个任务。
可以在任何任务实例上调用ContinueWith方法,调用这个方法可以创建一个延续,在这个任务成功结束执行后执行。这个方法有多种不同的定义,每种定义都接受不同的参数。最简单的庆幸包括在创建Task实例时定义一个任务完成时候的简单动作。
var t1=Task.Factory.StarNew(()=>GenerateAESKeysWithCharPrefix(ct,'A'),ct);
var t2=t1.ContinueWith((t)=>{
for(int i=0;i<t.Result.Count;i++)
{
Console.WriteLine(t.Result[i]);
}
});
try
{
t2.Wait();
}
可以使用TaskContinuationOptions参数控制延续另一个任务的任务调度和执行的可选行为