首页 / 知识
关于多线程:其他语言的Erlang风格并发
2023-04-12 21:13:00

Erlang-style Concurrency for Other Languages其他编程语言存在哪些库来提供Erlang风格的并发模型(进程,邮箱,模式匹配接收等)? 注意:我特别感兴趣的是与Erlang类似的东西,而不仅仅是任何线程或排队库。 Ulf Wiger最近在这个主题上发表了一篇很棒的文章 - 这里是他在你可以调用"Erlang Style Concurrency"之前定义的属性:
上面的第2个是最难在VM和语言实现中支持的,这些实现最初并不是为并发而设计的。这不是要在其他语言中实现Erlang-ish并发实现,但是Erlang的许多价值来自于能够创建数百万个进程,如果进程抽象与操作系统级别具有1-1关系,这非常困难线程或进程。 Ulf在上面的链接中有更多关于此的内容。 消息传递接口(MPI)(http://www-unix.mcs.anl.gov/mpi/)是一个高度可扩展且强大的并行编程库,适用于C,但现在有多种版本可供使用http:// en .wikipedia.org /维基/ Message_Passing_Interface#实现。虽然该库没有引入新的语法,但它提供了一种通信协议来协调可并行化的例程之间的数据共享。 传统上,它用于大型集群计算而不是单个系统用于并发,尽管多核系统当然可以利用这个库。 另一个解决并行编程问题的有趣解决方案是OpenMP,它试图在各种平台上提供可移植的扩展,以便向编译器提供关于哪些代码段可以轻松并行化的提示。 例如(http://en.wikipedia.org/wiki/OpenMP#Work-sharing_constructs):
当然,两者都有优点和缺点,但前者已被证明在学术界和其他重型科学计算应用中非常成功。因人而异。 Scala支持演员。但我不会故意将scala称为与Erlang类似。 尽管如此scala绝对值得一看! kilim也是java的库,它将erlang样式的消息传递/ actor带到Java语言中。 用于.NET的Microsoft并发和协调运行时。
Mike Rettig创建了一个名为Retlang的.NET库和一个名为Jetlang的Java端口,其灵感来自Erlang的并发模型。 微软对Erlang的Not-Production-Ready答案:Microsoft Axum 如果您使用Ruby,请查看Revactor:[http://revactor.org/] [1] Revactor是基于Rev高性能事件库构建的Ruby 1.9的Actor模型实现。 Revactor主要用于编写类似Erlang的网络服务和工具。 看看这段代码示例:
Revactor只能在Ruby 1.9上运行。我相信图书馆的作者已停止维护它,但他们网站上的文档非常好。 您可能还想看看Reia:一种基于Erlang VM构建的类似ruby的脚本语言。 Reia是Revactor创始人的新项目:Tony Arcieri。 白天计划的白蚁。 对于python,您可以尝试使用处理模块。 JoCaml使用连接演算扩展OCaml,用于并发和分布式编程。 警告:无耻插头!
我在Haskell中为这种消息传递开发了一个库: 沃尔克 Akka(http://akka.io)受到erlangs OTP的严重影响。它建立在scala的actor之上,非常适合JVM上的并发性。 |
最新内容
相关内容
python支持r语言吗?
python支持r语言吗?,代码,名称,培训,官网,第一,语言,对象,字符串,方法,后缀,python中可以支持r语言。python提供了一个模块rpy2,可以较好地完python是一种编程语言吗?
python是一种编程语言吗?,放宽,适当,平台,培训,语言,指令,计算机,机器,程序,解释性,python是一种编程语言,Python是一种跨平台的计算机程序设计Python语言中mod表示什么意思
Python语言中mod表示什么意思,环境,培训,表示,语言,结果,负数,语法,符号,两者,规律,python语言中mod表示取模运算符。语法MOD(a,b)通常情况下Python语言专题
Python语言专题,名字,工作,代码,异常,培训,信息,空间,函数,变量,模块,名字空间python使用叫做名字空间的东西来记录变量的轨迹.名字空间只是python到底是什么样的语言
python到底是什么样的语言,教育,软件,人工智能,培训,代码,简介,语言,类型,程序,动态,python是一种面向对象、解释型、动态类型计算机程序设计python语言受欢迎吗
python语言受欢迎吗,代码,工作,业务,活跃,设计,发展,人工智能,培训,数据,语言,python因其简单易用的语法而获得了很多赞誉。该语言强调代码的pythonc语言取余和python取余的区
pythonc语言取余和python取余的区别,培训,资料,语言,负数,区别,被除数,符号,除数,规定,余数,今天看书发现python与C的负数取余运算结果不同,pythonPython和r语言的区别
pythonPython和r语言的区别,数据,分析,流程,培训,工具,系统,服务,平台,代码,语言,Python与R语言的共同特点1.Python和R在数据分析和数据挖掘pythonpython是函数式语言吗
pythonpython是函数式语言吗,培训,代码,函数,概念,指数,状态,语言,变量,计算机,程度,函数是Python内建支持的一种封装,我们通过把大段代码拆成python为什么叫胶水语言
python为什么叫胶水语言,标准,代码,培训,数据,一致,环境,周期性,软件,服务,胶水,什么是胶水语言?胶水语言(gluelanguage)是用来连接软件组件python编程语言有什么用途
python编程语言有什么用途,设计,大规模,软件,培训,数据,平台,工具,生产,面临,通用,Python是一门简单易学的编程语言。阅读好的Python程序感觉pythonPython语言都可以做什么
pythonPython语言都可以做什么,数据,代码,分析,培训,设备,基础,服务,时间,机器,脚本,如果您正在考虑学习Python,或者您最近刚开始学习,您可能会