C# 等待多个功能参数时的性能

C# 等待多个功能参数时的性能,c#,async-await,C#,Async Await,等待多个函数参数是否会提高性能?参数函数是并行执行的,还是与非异步函数相比没有性能增益 示例代码: var result = GetGesult(await Func1(), await Func2(), await Func3(), await Func4()); 异步函数将一个接一个地执行 在将结果分配给下一个函数的参数之前,可以启动all并等待all完成 var func1Task = Func1(); var func2Task = Func2(); var func3Task = F

等待多个函数参数是否会提高性能?参数函数是并行执行的,还是与非异步函数相比没有性能增益

示例代码:

var result = GetGesult(await Func1(), await Func2(), await Func3(), await Func4());

异步函数将一个接一个地执行

在将结果分配给下一个函数的参数之前,可以启动all并等待all完成

var func1Task = Func1();
var func2Task = Func2();
var func3Task = Func3();
var func4Task = Func4();

await Task.WhenAll(func1Task, func2Task, func3Task, func4Task)

var result = 
    GetGesult(await func1Task , await func2Task, await func3Task, await func4Task);

异步函数将一个接一个地执行

在将结果分配给下一个函数的参数之前,可以启动all并等待all完成

var func1Task = Func1();
var func2Task = Func2();
var func3Task = Func3();
var func4Task = Func4();

await Task.WhenAll(func1Task, func2Task, func3Task, func4Task)

var result = 
    GetGesult(await func1Task , await func2Task, await func3Task, await func4Task);

不,它们都将被依次调用和等待。如果您想同时启动所有函数,然后并行地等待它们,那么您需要重写代码来专门完成这项工作。可能有助于理解。不,他们都将被依次调用和等待。如果您想同时启动所有函数,然后并行地等待它们,那么您需要重写代码来专门完成这项工作。可能有助于理解。任务何时真的必要?我希望方法调用参数中的等待也能达到同样的效果。我发现Task.whalll是一种更简洁的方式,可以告诉其他开发人员/读者代码意图。我同意@Fabio,但从技术上讲,不,它不是真正需要的。它使程序员更好地意识到这样一个事实:代码将阻塞,直到所有任务都完成。Task.when真的有必要吗?我希望方法调用参数中的等待也能达到同样的效果。我发现Task.whalll是一种更简洁的方式,可以告诉其他开发人员/读者代码意图。我同意@Fabio,但从技术上讲,不,它不是真正需要的。它使程序员更好地意识到,在所有任务完成之前,代码都将阻塞。