C# await async Task


 

//原文:https://www.cnblogs.com/yan7/p/8401681.html
//原文:https://www.cnblogs.com/s5689412/p/10073507.html

 

        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秒 后");
        }

 

執行后的截圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM