C# async/await

 static void Main(string[] args)
        {
            TestMain();
        }
        static void TestMain()
        {
            Console.WriteLine("Start
");
            GetValueAsync();
            Console.WriteLine("End
");
            Console.Read();
        }
        static async Task GetValueAsync()
        {
            await Task.Run(()=> {
                Thread.Sleep(1000);
                for (int i = 0; i < 5; i++)
                {
                    Console.WriteLine(string.Format("Form Task:{0}",i));
                }
            });
            Console.WriteLine("Task End");
        }

如果不用async  按照顺序执行,打印出来

主方法需要等子方法里面执行完成才能继续执行。

在async方法里面,用task.run重新开启一个异步线程,然后主线程返回继续执行,子线程接下来执行。 哪个先执行出来就先打印出来。   有需要的话async可以发挥一个task,进行操作。

原文地址:https://www.cnblogs.com/ThisYbc/p/15205916.html