先看个小例子...
1 static void Main(string[] args) 2 { 3 var task = new Task(() => 4 { 5 Console.WriteLine("task start...."); 6 Thread.Sleep(2000); 7 Console.WriteLine("task end...."); 8 }); 9 task.Start(); 10 Console.WriteLine("main start...."); 11 Thread.Sleep(1000); 12 Console.WriteLine("main end...."); 13 Console.ReadLine(); 14 }
看下输出,可以发现在main的方法与task中的方法应该是同时运行,也就是我们所说的异步执行。
当我们使用async关键字的时候,就告诉程序该方法为异步方法,我们使用await来等待异步方法,看一下代码...
public async void Async() { await Task.Run(() => { Console.WriteLine("task start.."); /****/ Console.WriteLine("task end.."); }); }