nik*_*eee 12 .net c# task-parallel-library async-await
我想提供一个基于任务的异步模式样式方法.在等待该方法时,我发现这两种提供方法的方法之间没有任何区别:
// 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?
Run Code Online (Sandbox Code Playgroud)
上层方法似乎比下层方法具有更少的开销.在查看MSDN博客时,我注意到他们似乎使用较低的方法.(例如,在本文中)
为什么?究竟有什么区别?他们似乎都工作.
Ste*_*ary 11
这些在逻辑上是相同的,但第二个有更多的开销,因此不推荐.
您可能会发现我的async介绍很有用,以及基于任务的异步模式文档.
有关开销的更多信息async,我推荐Stephen Toub的Zen of Async.
您可能还想阅读"我应该为同步方法公开异步包装吗?" 简而言之,答案是"不".
| 归档时间: |
|
| 查看次数: |
9500 次 |
| 最近记录: |