.net 4.5 async await 简单用法

来源:互联网 发布:我的世界编程网站 编辑:程序博客网 时间:2024/05/01 17:38

在.net  4.5里面有一种新的异步编程方法,使用关键字  async 和  await  , 下面是一个简单的用例,

如果,有错,请见谅




 using System;using System.Threading;using System.Threading.Tasks;namespace asyncTest2{class Program{public static void Main(string[] args){/*if(DownloadMoive("www.baidu.com")==true){Console.WriteLine("download finished");}*/var  downloadSuccess= async_download("www.baidu.com").Result;if(downloadSuccess==true){Console.WriteLine("download finished");} Console.ReadKey(true);}/// <summary>/// 下载电影 (同步)/// </summary>/// <param name="downloadStr">下载的字符串</param>/// <returns>是否下载成功</returns>private static bool DownloadMoive(string downloadStr){bool isSuccess=false;try{//模拟一个稍微长时间一点点的操作for(int i=0 ; i<1000000000;i++){i++;}isSuccess =true;}catch(Exception ex){Console.WriteLine(ex.Message);isSuccess=false;}return   isSuccess ;} /// <summary>/// 下载电影(异步)/// </summary>/// <param name="downloadStr">下载路径</param>/// <returns>是否成功下载</returns>private static async  Task<bool> async_download (string downloadStr){bool isSuccess=false;try{await Task.Run( ()=>{                               //模拟一个稍微长时间一点点的操作for(int i=0 ; i<1000000000;i++){i++;}isSuccess=true;              } );}catch(Exception  ex){Console.WriteLine(ex.Message);isSuccess=false;}return isSuccess;}}}


0 0