小编Ale*_*lex的帖子

为什么List <Task>不能总是并行运行?

当我需要一些并行处理时,通常会这样:

static void Main(string[] args)
{
    var tasks = new List<Task>();
    var toProcess = new List<string>{"dog", "cat", "whale", "etc"};
    toProcess.ForEach(s => tasks.Add(CanRunAsync(s)));
    Task.WaitAll(tasks.ToArray());
}

private static async Task CanRunAsync(string item)
{
    // simulate some work
    await Task.Delay(10000);
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我无法并行处理这些项目,而不得不使用Task.Run它来强制它在不同的线程上运行。

我想念什么?

.net c# parallel-processing

2
推荐指数
1
解决办法
142
查看次数

标签 统计

.net ×1

c# ×1

parallel-processing ×1