Erlang 印象

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/44061837

和朋友切磋高并发的时候,又一次涉及了Erlang,Erlang出自名门爱立信,具有稳定性极高的虚拟机和平台库,Facebook用它实现了聊天系统,Amazon 开发了SimpleDB,最令人惊叹的是What'sApp了,高并发的处理机制令人瞩目,是时候了解一下Erlang了。


世界是并行的,Erlang程序反应了我们思考和交流的方式,人作为个体通过发送消息进行交流,如果有人死亡,其他人会注意到。

Erlang里的模块类相当于OOPL中的类,进程相当于OOPL里的对象或类实例。

并发编程可以用来提升性能,创建可扩展和容错的系统,以及编写清晰和可理解的程序来控制现实世界里的应用。

 

并发程序是以一种并发编程语言编写的程序,并发编程语言拥有用于编写并发程序的语言结构。Erlang的并发程序是由互相通信的多组顺序进程组成,一个进程就是一个轻量级的虚拟机,可以执行单个的Erlang函数,只能通过发送和接收消息来与其他进程通信。也就是说,并发性是由Erlang虚拟机提供的,并操作系统的并发控制粒度要小很多。

在Erlang里:

1)  创建和销毁进程是非常快的

2)  在进程间发送消息是非常快的

3)  进程在所有操作系统上都具有相同的行为方式

4)  可以拥有大量的进程

5)  进程间不共享内存,是完全独立的

6)  唯一的沟通方式是消息传递,每个进程都有一个邮箱与进程同步创建。

 

动态代码载入是Erlang特性之一,函数调用的总是最新模块里的最新版函数,哪怕当代码在模块里运行时重新编译了该模块也是如此。

目录
相关文章
|
7月前
|
消息中间件 缓存 NoSQL
非常强悍的 RabbitMQ 总结,写得真好
非常强悍的 RabbitMQ 总结,写得真好
30 0
|
Python
听说Python有鸡肋?一起聊聊...
听说Python有鸡肋?一起聊聊...
|
Go 调度 云计算
为什么我们放弃了Erlang技术栈
结合小博无线技术团队的具体经验,深入讨论了Erlang技术栈在云计算环境中所遇到的问题。
12622 2
|
开发框架 物联网 开发者
Ruby vs Elixir | 2022 该选哪个?
Ruby vs Elixir | 2022 该选哪个?
Ruby vs Elixir | 2022 该选哪个?
|
Rust Java 机器人
是 Rust 太难了,还是主流编程本来就这么折磨人?
本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。
565 0
是 Rust 太难了,还是主流编程本来就这么折磨人?
|
消息中间件 缓存 负载均衡
非常强悍的 RabbitMQ 总结,写得真好!
RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。
非常强悍的 RabbitMQ 总结,写得真好!
[Erlang 0115] 2014值得期待的Erlang两本新书
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 《The Erlang Runtime System》,其作者happi在2013年3月份公布了这本书的写作计划:"The plan is to have the book done by the end of 2013 and published early 2014.
1388 0
|
Shell
[Erlang 0124] Erlang Unicode 两三事 - 补遗
最近看了Erlang User Conference 2013上patrik分享的BRING UNICODE TO ERLANG!视频,这个分享很好的梳理了Erlang Unicode相关的问题,基本上把 Using Unicode in Erlang 讲解了一遍.
1412 0