对多个任务使用异步/等待
我使用的是完全异步的API客户端,也就是说,每个操作要么返回Task要么Task<T>,例如: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } 使用C#5 async / await运算符,启动多个任务并等待所有任务完成的正确/最有效方法是什么: int[] ids = new[] { 1, 2, 3, 4, 5 }; Parallel.ForEach(ids, i => DoSomething(1, i, blogClient).Wait()); 要么: int[] ids = new[] { …