C# Async与Await用法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace CloudLearning.UI
{
class Program
{
static void Main(string[] args)
{
AsyncPrintHelloWorld();
Console.ReadLine();
}
public async static void AsyncPrintHelloWorld()
{
Console.WriteLine("异步方法调用开始");
var result1 = TMothd1();
var result2 = TMothd2();
var result3 = TMothd3();
Console.WriteLine("异步方法完成");
int r1 = await result1;
int r2= await result2;
int r3 = await result3;
Console.WriteLine("{0},{1},{2}", r1, r2, r3);
}
public async static Task<int> TMothd1()
{
return await Task.Factory.StartNew(() =>
{
Thread.Sleep(5 * 1000);
Console.WriteLine("TMothd1 完成");
return 1;
});
}
public async static Task<int> TMothd2()
{
return await Task.Factory.StartNew(() =>
{
Thread.Sleep(10 * 1000);
Console.WriteLine("TMothd2 完成");
return 2;
});
}
public async static Task<int> TMothd3()
{
return await Task.Factory.StartNew(() =>
{
Thread.Sleep(15 * 1000);
Console.WriteLine("TMothd3 完成");
return 3;
});
}
}
}