加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何正确实现TAP方法?

发布时间:2020-12-15 04:11:22 所属栏目:百科 来源:网络整理
导读:我想提供一个基于任务的异步模式样式的方法.在等待该方法时,我提供这两种方法之间找不到任何区别: // GetStats is a delegate for a void method in this examplepublic Task GetStatsAsync(){ return TaskEx.Run(GetStats);}public async Task GetStatsAsy
我想提供一个基于任务的异步模式样式的方法.在等待该方法时,我提供这两种方法之间找不到任何区别:
// GetStats is a delegate for a void method in this example
public Task GetStatsAsync()
{
    return TaskEx.Run(GetStats);
}

public async Task GetStatsAsync()
{
    return await TaskEx.Run(GetStats);
}

// Usage:
await GetStatsAsync();
// Difference?

上面的方法似乎比较低的方法有更少的开销.当看MSDN博客时,我注意到他们似乎使用较低的方法. (例如this article)

为什么?有什么区别?他们似乎都在工作.

解决方法

那些在逻辑上是相同的,但是第二个具有更多的开销,因此不推荐.

你可能会找到我的async intro helpful以及task based asynchronous pattern document.

有关异步开销的更多信息,我建议您使用Zen of Async by Stephen Toub.

你可能还想读“Should I Expose Asynchronous Wrappers for Synchronous Methods?”简而言之,答案是“不”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读