C# await async Task

 

//原文: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秒 後");
        }

 

執行後的截圖:異步

相關文章
相關標籤/搜索