
就我个人而言,客观的讲golang的并发机制简洁,易上手。不过在工业界性能很少成为最主要的难题,每天影响着开发组的,往往不是什么异步模型,channel,无锁算法之类的玩意儿,而是一些看似很不高大上的问题,就说go的包管理问题吧,真是谁用谁知道,人家rust 10版还未发布,包管理已经做的妥妥的。
而且erlang的otp谁用谁知道,go的相关支持就差了很多。如果我来做,给了20年做研究,我肯定用C,给我3个月做项目,我就只会去选erlang,可靠稳定。1 对锁的态度不同;
2 对异步IO的态度不同;
3 消息机制不同;
4 Erlang对锁非常反感,认为变量不可变可以很大程度避免锁;而Golang的观点是锁确实有很大的负担,但锁基本上是无法避免的,一旦有人共享状态并且互相抢占去改变他,这时候锁是必须存在的。
Erlang服务器是单进程的,是逻辑上没有并发的东西,一个Process就是一个执行体,所以Erlang的服务器和Golang的服务器是不一样的,Golang的服务器是多进程的一起构成的一个服务器,每个请求建立一个独立的进程。
而Erlang不同,一个服务器就是一个单进程的,所以并发的请求都进入到了进程的邮箱,然后这个服务器从进程邮箱里取邮件处理,Erlang的服务器并没有并发的请求,所以不需要锁。
《Erlang/OTP并发编程实战》([美] Martin Logan)电子书网盘下载免费在线阅读
资源链接:
rsb6
书名:Erlang/OTP并发编程实战
作者:[美] Martin Logan
译者:连城
豆瓣评分:84
出版社:人民邮电出版社
出版年份:2012-7-12
页数:356
内容简介:
内容简介:
通过提高CPU时钟频率来制造更快的单核芯片的技术已经到达了极限。多核、并发、分布式等概念和技术也随之走出象牙塔,成为每个一线开发者的必备技能。由通信巨头爱立信研发的Erlang/OTP大放异彩,二十多年来,在传统电信领域高并发、高可靠、高容错的严酷环境下,Erlang语言和OTP平台被锻炼得坚如磐石,浓郁的函数式特质更是恰到好处地弥补了传统命令式语言在并发编程上的固有缺陷,大大降低了构筑并发、容错、分布式应用的门槛。
如果将Erlang语言看成才华横溢的钢琴家,那么OTP平台就是一架能让钢琴家把才能发挥得淋漓尽致的钢琴。本书除了全面介绍Erlang语言和OTP平台的基础知识外,还通过一系列实用案例引领你深入了解OTP的高级特性,一步步构建一个大型生产系统,并加以优化和完善。三位作者在Erlang领域拥有极其丰富的实战经验,细致入微地剖析了OTP开发与部署的全过程。要想真刀真q地上战场,本书才是你明智的选择!
作者简介:
作者简介:
Martin Logan 从1999年开始活跃于Erlang社区,后来全职从事Erlang研发。目前任职于全球最大的在线旅游公司Orbitz Worldwide,为基于大规模分布式服务的基础设施开发解决方案。Erlware联合创始人,核心开发人员,Erlang/OTP软件包管理系统Faxien的主要开发者。
Eric Merritt 专注并发编程和分布式系统。曾任职于Amazoncom,现为eCD Market软件工程师。Erlware联合创始人,Erlang芝加哥用户组核心成员。Erlware团队开源产品核心开发人员,Erlang/OTP构建系统Sinan的主要开发者。
Richard Carlsson 瑞典乌普萨拉大学高性能Erlang计划(HiPE)早期成员,研究Erlang技术达17年,曾为标准库、Erlang编译器、运行时系统和Erlang语言本身都作出过不少贡献。此外,他还是Erlang文档系统EDoc和单元测试框架EUnit的创建者。目前加入了Kreditor,致力于高可用性支付系统的Erlang开发。
译者简介:
连城
百度资深软件工程师,《Erlang并发编程(第一部分)》社区翻译项目组织者及主要译者。对分布式存储、分布式消息系统、程序语言设计实现抱有浓厚兴趣。
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。参见百度百科的:>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)