【发布时间】:2017-07-25 17:47:35
【问题描述】:
async 在 ASP.NET 中受到赞誉的原因之一是它遵循 Nodejs 异步平台,它通过释放线程来处理后续请求等带来了更大的可扩展性。
但是,我已经读过在 Task.Run 中包装 CPU 绑定代码会产生相反的效果,即给服务器增加更多开销并使用更多线程。
显然,只有真正的异步操作才会受益,例如发出网络请求或调用数据库。
所以,我的问题如下。关于何时应该异步操作方法是否有任何明确的指导?
【问题讨论】:
-
恕我直言,
async-await、Stephen Cleary 上最好的信息来源之一。 Hth -
@EdSF 谢谢。实际上,我一直在阅读 Stephen Cleary 的博客。 Cleary 先生认为将 CPU 绑定操作封装在异步代码中是徒劳的。我将阅读您链接到的 SO 答案,看看我是否在那里学到了任何新东西。谢谢。
-
@onefoots 将链接您阅读的有关异步代码中 CPU 绑定操作徒劳无功的文章?
-
@mmcrae 这篇文章是 Stephen 讨论 Fake Async 的文章 - blog.stephencleary.com/2013/10/…Cheers