Chinaunix首页 | 论坛 | 博客
  • 博客访问: 377452
  • 博文数量: 38
  • 博客积分: 256
  • 博客等级: 入伍新兵
  • 技术积分: 846
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-14 23:21
文章分类

全部博文(38)

文章存档

2015年(1)

2014年(1)

2013年(28)

2012年(8)

我的朋友

分类: Delphi

2012-12-15 17:01:08

在这个并发的世界,Erlang迎来了它的春天。这门被雪藏了几十载的语言,在这个时机被重新挖掘出来,风靡各个领域。一方面是因为硬件的原因,多核多线程的CPU,CPU和GPU的融合,另一方面是因为软件的需求,分布式系统的普遍应用,以及健壮性的需求。

Erlang区别于其它编程语言的基本特点是他的错误处理部分。这部分的特点是以“非防御”和“就让它崩溃”这一套概念为基础(在其它语言当中,这是不可想象的)。这套错误处理机制是它的独门绝学,也是它与传统编程语言截然相反的地方(Armstrong博士语)。如果我们熟悉其它语言,可以预知,以这套理论为基础的编程语言可以编写出简洁而漂亮的程序。

Erlang的语言特点:为并发量身打造

1. 无线程:很奇怪,一个为并发量身的语言,怎么会不使用线程?但是我们应该清楚,就是因为线程的资源共享特性,使得编写并发程序变得不是那么容易,我们必须遵守很多编程规则。而锁是多线程编程最基本的资源保护机制。但是锁的使用,又使得多线程程序的效率大打折扣。很多时候,我们可以发现,锁的滥用造成了很大的性能瓶颈。所以Erlang最后决定使用轻量级进程。

2. 轻量级进程:这使得Erlang摆脱了在共享资源和性能瓶颈的泥沼中艰难跋涉的困境。分布式消息传递成为基本的语言结构,锁机制的弃用,并发性能也大有进展。

3. 可靠性: “就让它崩溃”。Erlang可以轻易地监测到进程崩溃,因此终止相关进程并启动新进程也就变得非常容易。

4. 无宕机升级: “热插拔”代码是Erlang的另外一个特点。也就是说,你不必终止代码运行,就可以替换应用程序的各个部分。相比于其他分类的分布式应用,这项功能将给你更简单的维护策略。

Erlang将健壮的“就让它崩溃”的错误处理策略、“热插拔”以及创建开销极小的轻量级进程等优点基于一身,因此应用程序一次就能运行好几年不宕机。

Erlang三个最基本的要素:消息传递、进程创建和进程监控。从以上这些描述来看,Erlang真是用来创建分布式并发应用的不二选择。

在招聘市场上,我们也看到了越来越多的Erlang需求。来吧,我们一起进入Erlang的神奇世界,去领略一番它的魔力。

阅读(1694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~