【发布时间】:2014-09-15 13:58:52
【问题描述】:
您已经构建了一个复杂的计算算法。这需要相当长的时间才能完成,并且您希望确保您的应用程序保持响应。你是做什么的?
- A.使用异步/等待。
- 乙。同步运行代码。
- C.使用 Task.Run。
- D.使用 BackgroundWorker。
答案是 C。但是,有人可以解释为什么 A) 不正确吗?因为问题并没有说复杂算法受 CPU 限制。如果它受 CPU 限制,那么我们将不得不使用任务(我也不太理解的推理,尽管我知道任务确实有助于导致当前线程暂停,直到它们完成)。另外,请说明如何决定何时使用 async/await,以及使用 Tasks。
【问题讨论】:
-
错误的二分法;答案是 A 和 C。请注意,在 ASP.NET 上,答案是 B。
标签: c# asynchronous task