首页 > 其他 > 详细

async await

时间:2015-04-24 01:01:01      阅读:253      评论:0      收藏:0      [点我收藏+]

public static Task<double> GetValueAsync(double num1, double num2)
{
return Task.Run(() =>
{

Console.WriteLine(AppDomain.GetCurrentThreadId());
for (int i = 0; i < 1000000; i++)
{
num1 = num1 / num2;
}
return num1;
});
}

public async static void DisplayValue()
{
Console.WriteLine(AppDomain.GetCurrentThreadId());
double dd = await GetValueAsync(1234.5, 1.01);//此处会开新线程处理GetValueAsync任务,然后方法马上返回
//这之后的所有代码都会被封装成委托,在GetValueAsync任务完成时调用
// System.Diagnostics.Debug.WriteLine("Value is : " + result);

Console.WriteLine("Value is : " + dd);

}

static void Main(string[] args)
{
Console.WriteLine(AppDomain.GetCurrentThreadId());
DisplayValue(); //这里不会阻塞

Console.WriteLine("MyClass() End.");
Console.ReadKey();

}

async await

原文:http://www.cnblogs.com/wolf12/p/4452212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!