关于任务的 .Net 文章显示了以下两个代码片段,一个使用 wait,另一个使用 Task.Wait,并表示两者“功能等效”。
那么这在技术上是不是不正确呢?有人可以澄清一下吗?
另外,如果任务应该是异步的并构成异步编程 (TPL) 的基础,那么为什么 ASP.Net 无论如何都允许同步等待它们呢?这不会违反他们的主要用途吗?
using System;
using System.Threading.Tasks;
public class Example
{
public static async Task Main()
{
await Task.Run( () => {
// Just loop.
int ctr = 0;
for (ctr = 0; ctr <= 1000000; ctr++)
{}
Console.WriteLine("Finished {0} loop iterations",
ctr);
} );
}
}
// The example displays the following output:
// Finished 1000001 loop iterations
Run Code Online (Sandbox Code Playgroud)
using System;
using System.Threading.Tasks;
public class Example
{
public static async Task …Run Code Online (Sandbox Code Playgroud)