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

 

执行后的截图:

 

posted @ 2019-07-16 10:58  古兴越  阅读(2582)  评论(0编辑  收藏  举报