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