C#中的例外有多贵?只要堆叠不深,它们似乎并不是非常昂贵; 但我读过相互矛盾的报道.
有没有被反驳的确定性报告?
如果可能,我想为并行启动的任务创建一个异步枚举器。所以第一个完成的是枚举的第一个元素,第二个完成的是枚举的第二个元素,依此类推。
public static async IAsyncEnumerable<T> ParallelEnumerateAsync(this IEnumerable<Task<T>> coldAsyncTasks)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
我打赌有一种使用ContinueWith和 a 的方法Queue<T>,但我并不完全相信自己会实现它。
c# asynchronous task-parallel-library async-await iasyncenumerable
假设我有一个任务列表,我想并行运行它们。但是我不需要所有这些都完成才能继续,我可以只做一个。以下代码等待所有任务完成才能继续。有没有办法让我在等待其他任务完成的同时单独继续完成已完成的任务?
List<string>[] x = await Task.WhenAll(new Task<List<string>>[] { task1, task2 })
// when task1 finishes, I want to process the result immediately instead of waiting on task2.
Run Code Online (Sandbox Code Playgroud)
提前致谢!