C# 异步编程,async与await的简单学习

前提声明:C# 5.0 .NET Framework 4.5 2012-08-15 异步和等待(async和await)、调用方信息(Caller Information)  (C#版本与.NET版本对应关系以及各版本的特性).,所以VS2010及其以前的版本都是不行的。

两段代码直接看出名堂:

class Program
    {
        static void Main(string[] args)
        {
            //PaintBody();
            //PaintBodyAsync();
            Console.WriteLine("End");
        }    

 static async Task PaintBodyAsync()
        {
            Console.WriteLine("Header");
            //就是遇到awaIt,这里面的东西不会阻塞,继续执行
            await Task.Run(() =>
            {
                //System.Threading.Thread.Sleep(1000);//线程不管是否睡眠,都是先执行其他方法
                Console.WriteLine("Body"); 
            });
            Console.WriteLine("Footer");

        }

        static void PaintBody()
        {
            Console.WriteLine("Header");
            System.Threading.Thread.Sleep(1000);
            Console.WriteLine("Body");        
            Console.WriteLine("Footer");

        }
    }

  

原文地址:https://www.cnblogs.com/huage-1234/p/11900638.html