`
qiezi
  • 浏览: 497236 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

erlang的设计思想能不能移植到ruby里面来?

阅读更多
erlang比较先进的地方大概就是它的并行工作方式,我一直在想为什么别的语言没有实现类似的玩意?这几天简单想了想,移植到其它语言应该可以的。

erlang核心是一个消息系统,可以在进程之间发送消息,而进程则不限于同一台机器。

在不遇机器之间发送消息当然是通过socket,本机进程之间则有多种方式可选,可以通过共享内存来高效实现。本机的多个进程和其它机器的多个进程的通讯如何管理?要有一个管理程序负责网络部分的发送的接收。机器之间的消息传递先发给它,由它转发到另外机器上一个相同功能的管理程序上,再分发给目标进程。

然后就是每个进程各自维护消息队列,处理消息接收及发送,似乎也不是那么复杂。spawn可能稍麻烦点,进程要是fork出来还比较方便,如果是新开进程的话该怎么传递方法入口?ruby不像C有静态函数地址,不知道erlang是怎么做这个的,难道是传递方法名字字符串?
分享到:
评论
3 楼 cookoo 2006-10-28  
是啊,需要模拟转换。先不说这样做的开销,本来用异步就是要避免同步锁,还要模拟岂不是有违初衷?
2 楼 qiezi 2006-10-27  
。。你们在那边讨论满多嘛,怎么那边无法用RSS订阅呢?
引用

比如Python就算用twisted,但是别的库比如数据库的driver不是按同样思路设计的,就容易block掉。

这点看得不是很明白,如果这里block指的是某些库的阻塞,应该是有其它办法做掉的。一般同步模拟异步是另开线程,异步模拟同步则是利用等待锁。只是同步模拟异步时可能有大量线程需要管理。
1 楼 cookoo 2006-10-27  
前两天和code17讨论了一下FP语言的并发问题:http://ocaml.cn/node/211

Erlang消息传递可不可以在别的语言实现?当然可以,比如Python的twisted框架。但是在不限制side effect的语言里,很难完全避免锁的问题。比如Python就算用twisted,但是别的库比如数据库的driver不是按同样思路设计的,就容易block掉。

据T1说,Erlang的VM针对其pure的特点(除了IO)还有特别优化,这就不懂咯~

相关推荐

    Erlang程序设计(第2版)1

    总的来说,这本书全面覆盖了Erlang编程的各个方面,从基础语法到高级特性,从并发编程到分布式系统设计,是学习和理解Erlang的宝贵资源。对于想要利用Erlang开发高并发、高可用性的系统的人来说,这本书无疑是一本不...

    erlang 设计指南

    **Erlang设计指南** Erlang是一种面向并发的、函数式编程语言,它由瑞典电信设备制造商Ericsson开发,主要用于构建高度可扩展和容错性强的分布式系统。"Programming Erlang: Software for a Concurrent World"是Joe...

    erlang程序设计与入门

    **Erlang程序设计与入门** Erlang是一种并发、函数式编程语言,主要用于构建分布式、高可用性、容错性强的系统。它的设计灵感来源于电信行业的需求,由瑞典爱立信公司于1986年开发。Erlang以其独特的并发模型、轻量...

    Erlang程序设计,包含完整目录和全套源码

    在Erlang程序设计的学习中,你将接触到以下关键概念: 1. **模式匹配**:Erlang的函数定义允许根据参数模式进行匹配,这是一种强大的语法特性,用于数据解构和条件分支。 2. **列表解析**:Erlang的列表解析提供了...

    Erlang程序设计中文版

    **Erlang程序设计中文版**是一本深入探讨Erlang编程语言的书籍,旨在帮助开发者理解和掌握这种在并发处理和分布式系统中广泛使用的语言。Erlang以其强大的错误恢复能力、热代码替换以及对大规模并发的支持而闻名,是...

    Erlang程序设计及源码

    本资源包含了一本Erlang程序设计的入门经典书籍及其配套源码,适合初学者深入理解Erlang编程。 1. **Erlang简介** Erlang以其强大的并发处理能力而闻名,它采用了轻量级进程模型,使得在单个系统中可以同时运行...

    [Erlang程序设计]源代码

    **Erlang程序设计源代码详解** Erlang是一种面向并发、函数式编程语言,尤其在分布式系统和高可用性领域表现出色。本资源包含了《Erlang程序设计》一书的所有实例代码,旨在帮助读者深入理解Erlang语言的核心特性和...

    Erlang程序设计 第2版

    Erlang程序设计 第2版 Erlang程序设计 第2版Erlang程序设计 第2版

    Erlang程序设计(第二版)及源码

    本书由Erlang之父Joe Armstrong编写,是毋庸置疑的经典著作。书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用...

    erlang 程序设计 源码

    通过对这些知识点的理解,我们可以深入到Erlang程序设计的精髓,从而更好地学习和利用Erlang编写出高效、可靠的系统。在`code`这个文件中,你可以找到实际的源码,通过阅读和分析,将理论知识与实践相结合,提升对...

    erlang程序设计中文版

    Erlang的设计为程序员提供了处理并发问题的强有力工具,使得程序能够以一种更接近真实世界交互的方式来模拟人类思考过程。 本书适合初学者入门和中级水平程序员进一步学习Erlang编程语言。它不仅包含顺序编程的基础...

    Erlang程序设计].源代码

    5. 软实时性:Erlang设计的目标是实现软实时系统,即在面对故障时能快速恢复。源码中可能包含错误处理和容错机制,例如监控和自动重启故障进程。 6. 数据类型与模式匹配:Erlang的数据类型包括原子(atom)、整数、...

    erlang程序设计

    在深入探讨Erlang程序设计之前,我们先来了解一下Erlang的基础概念。 1. 函数式编程:Erlang是一种纯函数式编程语言,这意味着函数不具有副作用,它们仅根据输入产生输出,不改变外部状态。这种特性使得代码更容易...

    Erlang并发编程,Erlang程序设计,Erlang中文手册

    Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。  Erlang是一个结构化,... 使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。

    erlang程序设计2

    erlang发明者写的书。erlang/otp一种高可靠性的平台。

    Erlang程序设计及源代码打包

    **Erlang程序设计概述** Erlang是一种面向并发的、...总的来说,Erlang程序设计是一门深入探讨Erlang语言及其应用的课程,结合源代码实践,可以帮助你建立起坚实的基础,进而探索更高级的并发和分布式系统构建技术。

    erlang25.0 windows版本

    总的来说,Erlang 25.0为Windows用户带来了一个更新的、优化的并发编程环境,无论是用于开发分布式系统、实时应用还是其他领域,都能从中受益。如果你是Erlang开发者或对此感兴趣,安装这个新版本将有助于你利用最新...

Global site tag (gtag.js) - Google Analytics