.NET Framework 任务:WaitAny
示例
var allTasks = Enumerable.Range(1, 5).Select(n => new Task<int>(() => n)).ToArray();
var pendingTasks = allTasks.ToArray();
foreach(var task in allTasks) task.Start();
while(pendingTasks.Length > 0)
{
var finishedTask = pendingTasks[Task.WaitAny(pendingTasks)];
Console.WriteLine("Task {0} finished", finishedTask.Result);
pendingTasks = pendingTasks.Except(new[] {finishedTask}).ToArray();
}
Task.WaitAll(allTasks);注意:最后的步骤WaitAll是必要的,因为WaitAny不会引起异常。
热门推荐
10 顺利毕业家人祝福语简短
11 企业开工花束祝福语简短
12 同事出院鲜花祝福语简短
13 职场同事离婚祝福语简短
14 婆婆蛋糕祝福语简短英文
15 小孩考过祝福语简短的话
16 感谢母亲祝福语 简短精辟
17 边防女兵祝福语大全简短
18 祝福语医生文案简短英文