gpt4 book ai didi

c# - await Task.FromResult 有什么好处吗?

转载 作者:行者123 更新时间:2023-12-02 03:31:16 25 4
gpt4 key购买 nike

我使用这种形式的代码在基线上工作:

Var result = await Task.FromResult(_someObject.SomeNonAsyncMethod(someParameterObject));

根据我对Task.FromResult的理解,这只是将一个对象封装成一个结果形式,而不是将一个方法封装成一个异步执行的任务。因此,这些操作增加了额外的开销而没有任何好处。

这个理解正确吗?

await 的这种使用在性能方面有什么用处吗?

是否应该以这种方式使用 await Task.FromResult? (考虑到这一行单独使用 - 不实现接口(interface)或在测试中等。)

提前感谢您的任何见解!

最佳答案

将两半都放在同一行代码中是没有用的。但是,函数将其同步结果打包到 Task 中以符合接口(interface)是很有用的。

在某些情况下,一个函数甚至可能同时具有同步和异步执行。例如,在一个快速的本地缓存中可能有一个同步查找,而在缓存未命中时,一个慢速的网络操作。像这样的函数必须有一个 Task 返回类型,这意味着同步导出需要从已知结果构造一个 Task。

关于c# - await Task.FromResult 有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com