.Net 的异步编程
历史
现在比较流行的异步编程应该是Task模式,这是基于Threadpool线程池实现的更加方便简单的开发模式,但是为了更好理解它的原理,有必要先了解一下它的前辈们。.Net的异步开发基本按照 异步模式->事件驱动->任务驱动 进化的
异步模式
微软为了实现异步开发,在大量的类中加入了以Begin和End为开头的方法。以下代码中,WebRequest类的使用BeginGetResponse方法请求网站信息,EndGetResponse方法则阻塞线程,直到结果返回到ar变量中
private static void AsynchronousPattern()
{
Console.WriteLine(nameof(AsynchronousPattern));
WebRequest request = WebRequest.Create(url);
IAsyncResult result = request.BeginGetResponse(ReadResponse, null);
void ReadResponse(IAsyncResult ar)
{
using (WebResponse response = request.EndGetResponse(ar))
{
Stream stream = response.GetResponseStream

本文介绍了.Net的异步编程发展历程,从早期的异步模式和基于事件驱动的方式,到现代的Task驱动编程,特别是.NET Framework 4.0及以后的Task和async/await特性,阐述了Task如何利用线程池优化资源使用,以及其在异步编程中的重要地位。
最低0.47元/天 解锁文章
767

被折叠的 条评论
为什么被折叠?



