我想知道为什么从已经完成的任务中获得结果需要这么长时间。
List<Task<T>> myTasks = someList.Select(x => Task.Run(() => DoSomethingWith(x)));
Task.WaitAll(myTasks.ToArray());
var myResults = myTasks.Select(task => task.Result); // the line that takes too long
对这些单行进行计时表明,最后一行花费了大量时间(10 个任务超过 25 毫秒)。在我看来,得到结果应该是几乎瞬间的事情,因为结果应该在那个时候已经存在。在这种情况下有没有更好的方法来获得结果?
HUH函数
蝴蝶刀刀
相关分类