我想知道如果这种方式并行运行两个长时间运行的操作,然后得到他们的结果是正确的,如果有任何优势,而不是使用异步/等待。正确的方式来运行两个任务
public int DoStuff()
{
var res1 = Task.Run(() => LongRunning1());
var res2 = Task.Run(() => LongRunning2());
Task.WhenAll(res1, res2);
return res1.Result + res2.Result;
}
int LongRunning1()
{
Thread.Sleep(30);
return 10;
}
int LongRunning2()
{
Thread.Sleep(10);
return 20;
}
在这两个长时间运行的操作过程中还有其他事情吗? –
长时间运行的IO或CPU是否受到限制? –