先看個小例子...
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.."); }); }