C# Task.WhenAll
阿新 • • 發佈:2022-03-22
.C# Task.WhenAll
有時候我們需要同時執行一些操作,然後把這些操作的結果進行彙總,以達到用非同步處理降低操作耗時的效果,此時我們會考慮使用Task,而Task.WhenAll則排上了用場。
有時候我們需要同時執行一些操作,然後把這些操作的結果進行彙總,以達到用非同步處理降低操作耗時的效果,此時我們會考慮使用Task,而Task.WhenAll則排上了用場。
async void TestTaskWhenAll() { var total =10; Task<string>[] tasks = new Task<string>[total]; for (int i = 0; i < total; i++) { tasks[i] = Convert("test "+ i ); } await Task.WhenAll(tasks); foreach (var task in tasks) { Debug.WriteLine("task.Id =" + task.Id + " task.Status=" + task.Status + " result:"+ task.Result); } return; } Random rnd = new Random(); async Task Convert(string str) { await Task.Delay(rnd.Next(1000,6000)); Debug.Print(str+" OK"); return "task " + str; }