// 现在,这个方法输出“1” ,“2” ,“3”。
public static async Task ProcessTasksAsync1()
{
// 创建任务队列。
Task<int> taskA = DelayAndReturnAsync(2);
Task<int> taskB = DelayAndReturnAsync(3);
Task<int> taskC = DelayAndReturnAsync(1);
var tasks = new[] { taskA, taskB, taskC };
//var processingTasks = (from t in tasks
// select AwaitAndProcessAsync(t)).ToArray();
// 等待全部处理过程的完成。
var processingTasks = tasks.AsParallel().Select(async t =>
{
var result = await t;
Console.WriteLine(result);
}).ToArray();
await Task.WhenAll(processingTasks);
Console.WriteLine("处理完成");
}