>管理并发任务并检索C#
的结果 在C#编程中,经常挑战涉及处理需要同时运行并返回单个结果的多个异步任务。 本文展示了使用Task.WhenAll
。
这是一个场景:想象三个独立的任务:喂猫,出售房屋并购买汽车。每个任务都是异步的,并产生一个独特的结果。
>private async Task<Cat> FeedCat() { /* ... */ } private async Task<House> SellHouse() { /* ... */ } private async Task<Tesla> BuyCar() { /* ... */ } async Task Main() { var catTask = FeedCat(); var houseTask = SellHouse(); var carTask = BuyCar(); await Task.WhenAll(catTask, houseTask, carTask); var cat = await catTask; var house = await houseTask; var car = await carTask; }
Task.WhenAll
方法同时启动了所有三个任务。 WhenAll
完成后(发出所有任务已经完成),您可以使用单个await
操作安全地检索每个任务的结果。 异步方法隐式返回已经启动的任务。
>在Task.Result
之后使用WhenAll
>时,由于保证了任务完成,因此通常建议使用更复杂的方案的可读性和鲁棒性。
以上是我如何有效地等待和检索C#中多个并发任务的结果?的详细内容。更多信息请关注PHP中文网其他相关文章!