//原文:https://www.cnblogs.com/yan7/p/8401681.html
//原文:https://www.cnblogs.com/s5689412/p/10073507.htmlhtml
public void test2() { //在出現await的地方,異步纔開始發生 DemoAsync2(); Console.WriteLine("同步代碼"); } async Task DemoAsync2() { //感受:await標識異步代碼的開始 //await關鍵字是函數開始變成異步的地方,它像是一個一元操做符 //執行的過程: //若是await發現awaitable還沒有完成,那麼它就會以異步方式運行。它讓awaitable去運行函數剩餘部分直到結束,而後從異步函數中返回。 //接下來,當awaitable結束以後,它會執行異步函數的剩餘部分。 Console.WriteLine("已經睡了3秒 前"); //await標識異步代碼的開始 await Task.Run(() => { Thread.Sleep(3000); Console.WriteLine("已經睡了3秒 了"); }); Console.WriteLine("已經睡了3秒 後"); Console.WriteLine("又睡了3秒 前"); Thread.Sleep(3000); Console.WriteLine("又睡了3秒 後"); }
執行後的截圖:異步