async/await 异步编程
2014-06-24 23:39
316 查看
C#异步编程的含义是一个异步过程调用发出后,调用者不能立刻得到结果。基于事件机制,实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。比如,你现在要有一批数据要大数据要入库,你又不想一边入库一边等待返回结果,你可以用异步,将大数据推入一个队列,然后另外一个线程来操作这个队列里面的数据入库,入完了,就通知一下主线程。这段时间你的主线程可以做任何事。
.NET 的类库支持BeginXXX和EndXXX方法来进行异步编程。 异步编写模型是一种模式,该模式允许用更少的线程去做更多的操作,.NET Framework很多类也实现了该模式,同时我们也可以自定义类来实现该模式,(也就是在自定义的类中实现返回类型为IAsyncResult接口的BeginXXX方法和EndXXX方法)。
C#5.0提供了async / await方式来进行异步编程。 该方式是基于任务的异步模式。下面是使用该方法实现异步调用天气API获取天气信息。
中国天气weather.com
http://m.weather.com.cn/data/101110101.html(六天预报) http://www.weather.com.cn/data/sk/101110101.html(实时天气信息) 核心代码如下:
.NET 的类库支持BeginXXX和EndXXX方法来进行异步编程。 异步编写模型是一种模式,该模式允许用更少的线程去做更多的操作,.NET Framework很多类也实现了该模式,同时我们也可以自定义类来实现该模式,(也就是在自定义的类中实现返回类型为IAsyncResult接口的BeginXXX方法和EndXXX方法)。
C#5.0提供了async / await方式来进行异步编程。 该方式是基于任务的异步模式。下面是使用该方法实现异步调用天气API获取天气信息。
中国天气weather.com
http://m.weather.com.cn/data/101110101.html(六天预报) http://www.weather.com.cn/data/sk/101110101.html(实时天气信息) 核心代码如下:
//提供用城市名获取天气信息方法 public static async Task<CityInfo> getCityInfoByNameAsync(string cityName) { //从xml获取id号; string path = "c:\\documents\\visual studio 2013\\Projects\\WeatherForcast\\WeatherForcast\\Data\\cityList.xml"; XElement xe = XElement.Load(path); var id = from a in xe.Elements("city") where a.Element("name").Value.Equals(cityName) select a.Element("id").Value; string cityid = id.ElementAt(0); return await getCityInfoByIdAsync(cityid); }
相关文章推荐
- Iterator、Generator、async、await 异步编程
- async 和 await 之异步编程的学习
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- 使用 Async 和 Await 的异步编程
- 用 Python 3 的 async / await 做异步编程
- 使用 Async 和 Await 的异步编程(C# 和 Visual Basic)
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- 使用天气预报api(中国天气网)获取城市天气(1)---async/await 异步编程
- NET 中的 async/await 异步编程
- 异步编程,采用WorkgroupWorker,async和await关键字
- .NET4.5 异步编程 async和await
- 介绍.net 4.5 异步编程核心内容,如何使用Async和Await进行异步编程
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C#~异步编程续~.net4.5主推的await&async应用
- async/await 异步编程(转载)
- C# 异步编程:async和await (2)
- Async/Await 异步编程中的最佳做法
- Async和Await使异步编程更简单
- Async 、 Await 的异步编程(.NET 4.5 新异步模型) [转自MSDN]