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 Program
11     {
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

 

posted @ 2015-11-19 16:47  X.J.Tang  阅读(727)  评论(0)    收藏  举报