gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:22:55 26 4
gpt4 key购买 nike

我想提供一个基于任务的异步模式风格的方法。在等待方法时,我找不到这两种提供方法的区别:

// GetStats is a delegate for a void method in this example
public Task GetStatsAsync()
{
return Task.Run(GetStats);
}

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

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

上面的方法似乎比下面的方法有更少的开销。在查看 MSDN 博客时,我注意到他们似乎使用了 lower 方法。 (例如在 this article 中)

为什么?到底有什么区别?它们似乎都有效。

最佳答案

它们在逻辑上是相同的,但第二个开销更大,因此不推荐使用。

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

有关async 开销的更多信息,我推荐 Zen of Async by Stephen Toub .

您可能还想阅读 "Should I Expose Asynchronous Wrappers for Synchronous Methods?"简而言之,答案是否定的。

关于c# - 如何正确实现 TAP 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952131/

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