本随笔续接:.NET 实现并行的几种方式(四)
前篇随笔已经介绍了几种可以实现并发的方式,其中异步方法、是最简便的方式。而 异步方式是基于 Task 和 async修饰符和await运算符实现的。
换句话说:如果我们有了Task、就有了异步方法。
在随笔:.NET 实现并行的几种方式(二) 中,已经简单的介绍了 Task.Run(); 利用Task.Run();我们可以很轻松的将同步代码封装成Task。
如果我们想封装异步代码呢?比如 : APM 和 EAP。.NET已经为我们提前准备好了工具:
1、封装APM
/// <summary> /// 封装APM /// </summary> public void Demo4() { var response = GetResponse("http://www.cnblogs.com/08shiyan"); // ... } private Task<WebResponse> GetResponse(string url) { var request = WebRequest.CreateHttp(url); request.Method = "GET"; return Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null); }