Erlang将在并发领域取代java

erlang与java构建的节点通讯 我们知道,erlang开源社区的活跃度远远不及java社区,为了让erlang和java社区的众多开源框架相结合,让他们优势互补,可以让erlang来调用java写的中间件。erlang提供了一个Jinterface代码包,java可以和erlang建立节点通信。通过这种方式,erlang可以将 java构建的节点也当作erlang的一个节点,java可以接收erlang传过来的消息,并且处理之后以异步的方式发送处理结果。文章介绍java如何建erlang节点与erlang通讯,以及讨论无法连接的情况及解决 阅读详情
Erlang进程间通讯的视角完全不同,而且Ralph说:即便并发性的Erlan风格可以很容易的增加到其他语言中,这些语言还是很难竞争。因为Erlang是专为电信系统而构建的,所有这些方面都重要,并且爱立信已经构建了一个Erlang系统,拥有99.9999999%的正常运转时间。Erlang不具有任何共享状态,因而呈现出与主流语言不同的并发性。 

未来的计算是并发计算。现今甚至桌面CPU也是多核的,当客户给他们的服务器购买了越来越多的CPU时,他们期望其应用伸缩自如以利用他们的新投资。但是今天的许多软件系统并不能做到这一点。

  处理并发计算是件困难的事情。但是在普遍使用的编程语言中,并发机制与同一语言的许多其他抽象相比是低层机制,对解决这一问题没有帮助。处理并发性需要做许多工作,但是有使其更简单的方法。

  Ralph Johnson 撰写了一篇关于 Erlang 将成为 下一个Java的博文。Erlang进程间通讯的视角完全不同,而且Ralph说:即便并发性的Erlan风格可以很容易的增加到其他语言中,这些语言还是很难竞争。

  我不相信其它语言能迅速赶上Erlang。对它们来说,加入像Erlang这样的语言特征是很容易的。但这将花费他们大量的时间来构建这样一个高质量的VM和成熟的并发性与可靠性类库。因此Erlang很自然会成功。如果你想在未来几年构建一个多核应用,你应该看看Erlang。

  而且可能还能得到更多的额外好处。Erlang的创造者——Joe Armstrong,写过面对可伸缩性、容错性以及运行时可更新系统所带来挑战的一石三鸟的解决方案。他说即使这些是不同类型的问题,

  “一个容错的系统可以很容易成为可伸缩的系统,也很容易成为能够进行热升级(in-service upgrade)的系统”.

  Armstrong把这一切都归功于Erlang有一套恰当的故障探测和稳定存储的原语(primitive)。因为Erlang是专为电信系统而构建的,所有这些方面都重要,并且爱立信已经构建了一个Erlang系统,拥有99.9999999%的正常运转时间。即每年31毫秒的停机时间。

  Erlang不具有任何共享状态,因而呈现出与主流语言不同的并发性。其进程是非常轻量级的,一个进程与另一个进程通过发送消息进行通讯。与那些使用共享内存来完成进程或线程之间通讯的系统不同,这一架构使伸缩性和分布式系统成为可能。为深入研究这种并发方式,Slava Akhmechet撰写了对这一概念很好的介绍(不需要有Erlang知识)。

  或许是用不同的方式来解决并行问题的时候了?或许是学习一门新语言的时候了?

原文:http://www.infoq.com/news/2007/08/erlang-java-for-concurrent-futur


Erlang语言的软件开发工具 Erlang是一种由爱立信(Ericsson)开发的编程语言,最初设计用于电信系统,现已广泛应用于各种高可用性和高并发的系统中。并发性:Erlang支持大量的并发进程,开发者可以很方便地实现并发功能,适用于处理高负载的应用场景。容错性:Erlang的“让它崩溃”哲学使得其在处理错误时具备良好的容错能力,通过监督树结构来管理进程,确保系统的稳定性。分布式系统:Erlang天然支持分布式编程,可以在网络中的不同节点上在不同主机上轻松运行和通信。热代码升级。 阅读详情

相关推荐

Erlang并发编程的探索与实践

《Programming Erlang, Second Edition》作为一本介绍Erlang编程语言的权威指南,不仅深入探讨了并发编程的核心概念,也涵盖了社区中重要的项目,如rebar和cowboy。本书为经验丰富的Erlang程序员提供了实用技巧和新见解,同时也为初学者提供了清晰系统的语言概念介绍。本文将对Erlang的核心特性和并发模型进行深入解析,旨在为读者提供一份关于Erlang并发编程的全面总结。

weixin_42611177的博客 955

从java的多线程到erlang的actor并发模型

多线程并发的难题 张大胖在做一个银行相关的项目,写了一个Account的类,用来表示一个用户的银行账号,根据银行的常规业务,自然要提供两个方法,存款(deposit)和取款(withdraw)。 为了防止多线程并发时导致的数据不一致问题,张大胖给每个方法都加了synchronized, 那意思很清楚,想进入某个方法执行存款或取款操作,必须得先获得一把锁才行。 (注:为了简化,这里没有做边界条件检查。) 但是在做转账操作的时候,为了保证一致性,必须得把两个账户都加上锁,然后才可以操作,于是张大胖写下了这样的代

qq_35218302的博客 560

11 CO配置-控制-成本中心会计-定义分割结构(OKES-Define Splitting Structure)

业务背景:定义分割结构 事务码: OKES SPRO路径:SPRO->控制->成本中心会计->实际过账->期末结算->作业分配->划分->定义分割结构 第1步,SPRO路径进入 第2步,选择“新的条目”创建 分割结构 第3步,选择分割结构代码 点击“分割规则”进行下一个界面,点击“新条目”创建 分割结构规则 第4步,点击“为规则选择” 为分割结构规则创建版本并保存 第5步,选择“分配”,点击“新的条目” 输入分割结构分配

4371

使用java进行erlang字符解析

与公司后端对接的时候erlang工程师经常丢过来这样一串字符串 {{1,7,[1,[2,3]]},3}" 或是这样一串 [{1,7,[1,[2,3]]},3]" 有点类似json又不是json,因为括号会出现多次也不适合用正则解析。这种情况怎么办呢? 解决方案如下: 1.观察规律: 每个括号是一对对存在 ’[‘对应‘]’,表示包含一个数组,‘{’对应'}',表示包含一个类,最前面的括号对应...

weixin_33881050的博客 274

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文深入解析了OpenCV图像去畸变的原理与实战技巧,详细对比了标准透视、鱼眼及全能型omnidir三种校正函数的核心参数调优方法。通过分析alpha、balance、centerX/Y及focalScale四大参数对输出效果的影响,并结合完整代码与效果对比图,帮助开发者精准校正镜头畸变,提升计算机视觉任务精度。

weixin_29046611的博客 341

离线安装PlutoSDR硬件支持包全攻略:没有MathWorks账号也能搞定MATLAB集成

本文详细介绍了在没有MathWorks账号和网络环境的情况下,如何离线安装PlutoSDR硬件支持包并实现MATLAB集成的完整解决方案。从驱动安装、设备识别到MATLAB支持包的离线部署,提供了全面的步骤指导和常见问题排查方法,特别适合高校实验室、军工单位等内网环境使用。

js777的博客 266

并发编程-初级之认识并发编程

并发编程-初级之认识并发编程 1.并发领域可以处理的问题 分工; 同步:分好工之后,就可以具体执行。任务之间是有依赖的,一个任务结束之后将去去通知后续的任务。java里面 Executor、Fork/Join、Future本质上都 是分工方法,但同时也能解决线程协作的问题。 例如,用 Future 可以发起一个异步调用,主线程通过 get() 方法取结果时,主线程就会等待,当异步执行的结果返回时,get() 方法就自动返回了。 我之前用的是CountDownLatch,先创建多个线程实现分工,再用Co

weixin_44102324的博客 1057

LabVIEW+数据库应用系列保姆级教程,第二篇增删查改

2021-7-2 先挖好坑

wwplh5520370的博客 7362

java erlang_Java开发人员的Erlang

java erlang 您可能没有注意到,但是距离我上次发布博客已经过去了几个星期。 这是由于我的Soleus骨折了,而且我的腿是石膏模型。 不能动弹,我认为调查完全不同的东西是个好主意–要么看那一天,要么看白天的电视,尽管Kojak和Magnum PI的重播很诱人,但对Erlang的调查却排在首位。 这里要记住的是,这不是一个 Erlang教程 ,这里的想法是检查Erlang和Java...

最佳 Java 编程 604

arcgis插件 批量出图 按地块批量出图工具(动态文本、动态节点坐标表)

arcgis插件 批量出图 按地块批量出图工具。

坐听风雨 7065

Cadence SKILL 语言实战指南:从函数列表到高效自动化脚本

本文是Cadence SKILL语言实战指南,旨在帮助芯片设计工程师从掌握核心函数列表出发,高效构建自动化脚本。文章详细解析了数据处理、数据库访问、流程控制及错误处理四类关键函数,并通过版图层批量修改与参数化单元生成两大实战场景,演示如何将函数组合成解决实际问题的自动化方案,从而显著提升Virtuoso环境下的工作效率。

beta5的博客 705

Java为什么要转erlang_我为何从 Python 转向 Erlang

我并没有碰到这样的问题!继续..!服务运行得很棒,所以现在需要做的是提高WEB服务的RPS(每秒请求数量),要么通过增加WSGI的工人数量,要么通过使用Tornado/Gevent,最后借助于Varnish的缓存,使用HAProxy或Nginx实现负载均衡。哈哈,简直就是完美的解决方案!同时你会注意到使用SQLAlchemy会降低你的查询速度(除非SQLAlchemy的极其复杂实现),而使用原始的...

weixin_30974905的博客 643

中小型微服务系统 硬件设备如何部署,QPS大概多少

作为一名合格的开发工程师,不仅仅要在前期开发阶段对业务和技术有深入了解,知道选用哪种合适的技术,业务如何拆分,还要思考后期线上环境,资源,延迟,性能等如何优化维护以及分布式系统一些线上生产的一些问题。 本篇主要针对之前了解的情况对硬件设备资源做一个简单的介绍: 首先分布式系统线上实践问题,我们应该对公司的流量,各个服务,网管,注册中心应该如何部署,部署多少台机器才合适,每台机器的配置如何,每天整体流量有多少,高峰期的请求量有多少,你的整体系统是否扛得住(注:很多公司现在直接使用K8S docker 实现

wangxuelei036的博客 1万+

Erlang语言的并发编程

Erlang是一门为并发和分布式系统设计的编程语言,其独特的进程模型和消息传递机制使得并发编程变得简单可靠。通过无共享状态的设计,Erlang极大地减少了并发编程中的复杂性和潜在错误。在当今多核处理器和高并发需求的背景下,Erlang为开发者提供了一个强有力的工具,能够构建高性能、可扩展和高可用性的系统。虽然Erlang的学习曲线可能相对陡峭,但其在高并发编程中的优势无疑会为开发者带来巨大的帮助。无论是电信、即时通讯还是在线游戏,Erlang都展现出了其独特的价值。

2401_90032291的博客 1011

标签传播算法LPA:半监督学习解决标注数据不足的完整实战指南

在机器学习实际工程中,标注数据稀缺往往是制约模型性能的核心瓶颈。半监督学习提供了一条利用海量未标注数据来增强模型泛化能力的有效路径,其中标签传播算法(Label Propagation Algorithm, LPA)因其直观的图结构和优雅的数学原理而备受关注。LPA通过将样本映射为图中的节点,以相似度作为边权重,让已知标签沿着图结构不断扩散,从而实现对未知样本的预测。其背后基于聚类假设与流形假设,能在低标注率场景下显著缓解过拟合问题,提升分类准确率。该技术在文本分类、金融风控、图像识别等存在大量无标注数据的

weixin_29056781的博客 239

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

关于 许式伟谈Go Erlang并发编程差异

写在开头: 这篇文章是ECUG2014年七牛CEO许式伟的演讲稿。这篇文章很详细的分析了Go和 Erlang在实现并发编程的差异,但是有些内容可能因为作者本人个人情感的一些原因有些出入导致了知乎上的一些讨论,http://www.zhihu.com/question/27465406,这种讨论甚至激烈的争辩是无法避免的,因为捍卫者需要站出来维护他们正在使用的兵器。关于这种争辩,在其他编程领域也有

挑灯看剑的专栏 4507

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

erlang 并发_跨越边界,使用Erlang并发编程

存档日期:2019年5月15日 | 首次发布:2006年4月18日 Java™编程语言比以往任何时候都更容易启动新线程。 但是,释放并发程序中的臭虫是另一回事,Java的编程模型可能不是最好的。 在并发,分布式系统和软实时系统领域,一种名为Erlang的语言现在受到了很好的欢迎。 此内容不再被更新或维护。 全文以PDF格式“按原样”提供。 随着技术的飞速发展,某些内容,步骤或插图可能已...

cusi77914的博客 166

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Erlang并发

传统的客户端与服务器是多对一的形式,而Erlang只是两个进程,客户端总是通过向服务器发送一个 请求来发起计算。服务器计算后生成回复,然后发送一个响应给客户端。

weixin_48321067的博客 835

erlang 并发编程入门

erlang并发编程的一些入门知识和使用事项

Shine957的博客 298

面向并发的编程语言Erlang

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。 简介   Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。   使用Erlang编写出的应用运

邻家·清崎技术成长轨迹 1857

erlang 调用java_Erlang进程与Java线程

小编典典在我之后重复: “这些是不同的范例”大声说20次左右-这是我们目前的口头禅。如果我们 真的 必须比较苹果和橙子,那么至少要考虑一下“成为水果”的共同方面在哪里相交。Java“对象”是Java程序员的基本计算单位。也就是说, 对象 (基本上是具有臂和腿的结构,比C++更严格地执行了封装)是建模世界的主要工具。您认为“此对象知道/拥有Data{X,Y,Z}并执行Functions{A(),B(...

weixin_36227085的博客 223

erlang 架构原理_Erlang与Java内存架构

erlang 架构原理 我读了一篇关于Erlang VM的内存管理策略的非常非常有趣的文章。 它是Jesper Wilhelmsson撰写的论文 ,我认为讨论Erlang的内存设置和Oracle的Java VM之间的差异可能会很好。 作为对从未听说过Erlang的人们的一个简短的介绍; 它是一种功能语言,使用异步消息传递作为并发的基础。 消息传递使用复制语义,从而可以在不止一台机器上运行的多...

最佳 Java 编程 414
上一篇: 虚拟存储器的分类介绍
下一篇: 白岩松:平静才是真正的奢侈品。
LinuxJoey
博客等级 码龄15年 117粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值