本随笔续接:.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);
        }
封装APM

相关文章: