你的位置:首页 > ASP.net教程

[ASP.net教程]C# Async与Await用法


 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using System.Threading.Tasks; 7  8 namespace CloudLearning.UI 9 {10   class Program11   {12     static void Main(string[] args)13     {14       AsyncPrintHelloWorld();15       Console.ReadLine();16     }17 18     public async static void AsyncPrintHelloWorld()19     {20       Console.WriteLine("异步方法调用开始"); 21       var result1 = TMothd1();22       var result2 = TMothd2();23       var result3 = TMothd3();24       Console.WriteLine("异步方法完成");25       int r1 = await result1;26       int r2= await result2;27       int r3 = await result3;28       Console.WriteLine("{0},{1},{2}", r1, r2, r3);29     }30 31     public async static Task<int> TMothd1()32     {33       return await Task.Factory.StartNew(() =>34       {35         Thread.Sleep(5 * 1000);36         Console.WriteLine("TMothd1 完成");37         return 1;38       });39     }40 41     public async static Task<int> TMothd2()42     {43       return await Task.Factory.StartNew(() =>44       {45         Thread.Sleep(10 * 1000);46         Console.WriteLine("TMothd2 完成");47         return 2;48       });49     }50     public async static Task<int> TMothd3()51     {52       return await Task.Factory.StartNew(() =>53       {54         Thread.Sleep(15 * 1000);55         Console.WriteLine("TMothd3 完成");56         return 3;57       });58     }59 60   }61 }

View Code