异步与等待(Async and Await)

参考

//async(C# 参考)
​​​https://msdn.microsoft.com/zh-cn/library/vstudio/hh156513(v=vs.110).aspx​

//使用 Async 和 Await 的异步编程(C# 和 Visual Basic)
​​​https://msdn.microsoft.com/zh-cn/library/vstudio/hh191443(v=vs.110).aspx​

 

static void Main(string[] args)
{
Method();
Console.WriteLine("Main Thread");
Console.ReadKey();
}

static void Method()
{
Task.Run(new Action(LongTask));
Console.WriteLine("New Thread");
}
static void LongTask()
{
System.Threading.Thread.Sleep(10000);
Console.WriteLine("LongTask");
}

运行结果:

.NET Framework 4.5 新特性(一)_microsoft

看看关键字使用上之后的效果:

static void Main(string[] args)
{
Method();
Console.WriteLine("Main Thread");
Console.ReadKey();
}

static async void Method()
{
await Task.Run(new Action(LongTask));
Console.WriteLine("New Thread");
}
static void LongTask()
{
System.Threading.Thread.Sleep(1000);
Console.WriteLine("LongTask");
}

运行结果:

.NET Framework 4.5 新特性(一)_Entity Framework_02