那些年,我们一起追寻的异步编程

哈哈,经过一番努力,我写的异步编程系列也算有头有尾,当然不是说这个系列已经更新完毕,这个头尾只是表示新旧知识点都有简单涉及到,接下去我还会丰富这一系列并且有机会整个小应用(愿景是弄一个开源组件吧,结合socket)。想获取本系列更新的第一手资源,请“加我的关注”……感谢大家一直给予的支持……(*^_^*)……

 

术语:

APM             异步编程模型,Asynchronous Programming Model

EAP               基于事件的异步编程模式,Event-based Asynchronous Pattern

TAP               基于任务的异步编程模式,Task-based Asynchronous Pattern

TPL               任务并行库,Task Parallel Library

 

    现在我给这个系列整个目录和做个简单介绍。

“概要 + 目录”整理

    C#语言是微软于2000年发布,基于.NET Framewrok框架的、面向对象的高级语言。经过近十三年的发展,经历了5次大的升级,目前最新版本为C#5.0(对应于.NET Framework 4.5)。其中每个版本发布都是有一个“主题”。即:C#1.0托管代码→C#2.0泛型→C#3.0LINQ→C#4.0动态语言→C#5.0异步编程。这系列既是针对“异步编程”所写。

C#版本

.NET 版本

Visual Studio 版本

特性描述

C# 1.0

.NET 1.0/1.1

VS 2002/2003

C#的第一个正式发行版本。微软的团队从无到有创造了一种语言,专门为.NET编程提供支持

 

 

 

C# 2.0

.NET 2.0

 

 

 

VS 2005

C#语言开始支持泛型,.NET Framework 2.0新增了支持泛型的库

.NET 3.0

新增了一套API来支持分布式通信(Windows Communication Foundation— WCF)、富客户端表示(Windows Presentation Foundation)、工作流(Windows Workflow—WF)以及Web身份验证(Cardspaces)

C# 3.0

.NET 3.5

VS 2008

添加了对LINQ的支持,对用于集合编程的API进行了大幅改进。.NET Framework 3.5对原有的API进行了扩展,从而支持了LINQ   

C# 4.0

.NET 4.0

VS 2010

添加了动态类型(dynamic)的支持,引入了新的轻量级线程同步基元及新的异步编程类库TPL

C# 5.0

.NET 4.5

VS 2012

改进并扩展了.NET4.0中引入的TPL类库,并引入async和await关键字轻松构建异步方法。

 

1.   我的异步编程整理

资料整理路线:线程----线程池----线程同步----并行任务----三种异步编程模型。首先了解最基础的线程(Thread类),再进一步明白线程管理器(ThreadPool类)。因为多个工作项之间可能出现并行运行,会造成对共享资源的访问问题,所以引入线程同步基元来让共享资源得到合理使用。最后介绍.NET4.0新引入并在.NET4.5中得到优化和扩展的TPL(任务并行库),并结合C# 5.0中新引入的async和await关键字轻松构建异步方法。详细如下:

异步编程:线程概述及使用

异步编程:使用线程池管理线程

异步编程:线程同步基元对象

异步编程:轻量级线程同步基元对象

异步编程:.NET4.5 数据并行

异步编程:异步编程模型 (APM)

异步编程:基于事件的异步编程模式(EMP)

异步编程:.NET 4.5 基于任务的异步编程模型(TAP)

 

2.   我的异步编程外文翻译

对的,老外的文章总会为我们带来意外的知识和惊喜,往往一些复杂、内核、深入、独到的见解会出现在老外的文章中,此时对于像和我一样E文不好的童鞋就会错过不少经典见解,此处我分享一些在学习异步编程过程中碰到的好E文:

(译)关于async与await的FAQ

         这篇文章为我带来的不仅仅是async和await关键字的认识,更为我提供了很多关于TPL的扩展资源,我很推荐大家看看这篇博文,当然其中还有不少E文,有时间我会将我认为不错的进行翻译分享。

像下面所翻译的文章:

(译).NET4.X 并行任务中Task.Start()的FAQ

(译).NET4.X并行任务Task需要释放吗?

 

为TPL提供同步基元,但这只是提供TPL的应用思路,不推荐将这些同步基元应用于项目中。

(译)构建Async同步基元,Part 1 AsyncManualResetEvent

(译)构建Async同步基元,Part 2 AsyncAutoResetEvent

(译)构建Async同步基元,Part 3 AsyncCountdownEvent

(译)构建Async同步基元,Part 4 AsyncBarrier

(译)构建Async同步基元,Part 5 AsyncSemaphore

(译)构建Async同步基元,Part 6 AsyncLock

(译)构建Async同步基元,Part 7 AsyncReaderWriterLock

 

3.   待续…异步编程系列持续更新中

…………

……

 

    分享这系列博文过程中一直都感受到大家给予的支持与鼓励让我着实激动不已也让我坚持做下去(杜绝太监作品),现在本系列已有小成,所以将目录整理下方便大家查阅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值