Erlang编程语言详细介绍:
Posted 程序大官猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Erlang编程语言详细介绍:相关的知识,希望对你有一定的参考价值。
Erlang语言:是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境.
Erlang出自名门爱立信,具有稳定性极高的虚拟机和平台库,Facebook用它实现了聊天系统,Amazon 开发了SimpleDB,最令人惊叹的是What'sApp了,高并发的处理机制令人惊叹。
Erlang里的模块类相当于OOPL中的类,进程相当于OOPL里的对象或类实例。并发编程可以用来提升性能,创建可扩展和容错的系统,以及编写清晰和可理解的程序来控制现实世界里的应用。
在Erlang里:
1) 创建和销毁进程是非常快的
2) 在进程间发送消息是非常快的
3) 进程在所有操作系统上都具有相同的行为方式
4) 可以拥有大量的进程
5) 进程间不共享内存,是完全独立的
6) 唯一的沟通方式是消息传递,每个进程都有一个邮箱与进程同步创建。
1.那么什么是进程?
进程是进程是一种自包含的、分隔的计算单元,并与其他进程并发运行在系统中,在进程间并没有一个继承体系,当然,应用开发者可以设计这样一个继承体系。
进程的创建使用如下语法:
代码如下:
Pid = spawn(Module, FunctionName, ArgumentList)
spawn接受三个参数:模块名,函数名以及参数列表,并返回一个代表创建的进程的标识符(Pid)。
如果在一个已知进程Pid1中执行:
代码如下:
Pid2=spawn(Mod,Func,Args)
那么,Pid2仅仅能被Pid1可见,Erlang系统的安全性就构建在限制进程扩展的基础上。
2.进程间通信
Erlang进程间的通信只能通过发送消息来实现,消息的发送使用!符号:
代码如下:
Pid ! Message
其中Pid是接受消息的进程标记符,Message就是消息。接受方和消息可以是任何的有效的Erlang结构,只要他们的结果返回的是进程标记符和消息。
消息的接受是使用receive关键字,语法如下:
Receive
Messagel [when GUard]->
Actions1;
Message2[when Guard2]->
Actions2:
end
每一个Erlang进程都有一个“邮箱”,所有发送到进程的消息都按照到达的顺序存储在“邮箱”里,上面所示的消息Message1,Message2,当它们与“邮箱”里的消息匹配,并且约束(Guard)通过,那么相应的ActionN将执行,并且receive返回的是ActionN的最后一条执行语句的结果。Erlang对“邮箱”里的消息匹配是有选择性的,只有匹配的消息将被触发相应的Action,而没有匹配的消息将仍然保留在“邮箱”里。这一机制保证了没有消息会阻塞其他消息的到达。
而所有的ERLANG进程都有一个Pid与一个他们共有的称为Group Leader相关联,当一个新的进程被创建的时候将被加入同一个进程组。最初的系统进程的Group Leader就是它自身,因此它也是所有被创建进程及子进程的Group Leader。这就意味着Erlang的进程被组织为一棵Tree,其中的根节点就是第一个被创建的进程。
感谢您抽出 · 来阅读此文
更多精彩请点击【阅读原文】哦
↓↓↓
以上是关于Erlang编程语言详细介绍:的主要内容,如果未能解决你的问题,请参考以下文章