erlang的设计思想能不能移植到ruby里面来?
程序员文章站
2022-07-12 17:33:58
...
erlang比较先进的地方大概就是它的并行工作方式,我一直在想为什么别的语言没有实现类似的玩意?这几天简单想了想,移植到其它语言应该可以的。
erlang核心是一个消息系统,可以在进程之间发送消息,而进程则不限于同一台机器。
在不遇机器之间发送消息当然是通过socket,本机进程之间则有多种方式可选,可以通过共享内存来高效实现。本机的多个进程和其它机器的多个进程的通讯如何管理?要有一个管理程序负责网络部分的发送的接收。机器之间的消息传递先发给它,由它转发到另外机器上一个相同功能的管理程序上,再分发给目标进程。
然后就是每个进程各自维护消息队列,处理消息接收及发送,似乎也不是那么复杂。spawn可能稍麻烦点,进程要是fork出来还比较方便,如果是新开进程的话该怎么传递方法入口?ruby不像C有静态函数地址,不知道erlang是怎么做这个的,难道是传递方法名字字符串?
erlang核心是一个消息系统,可以在进程之间发送消息,而进程则不限于同一台机器。
在不遇机器之间发送消息当然是通过socket,本机进程之间则有多种方式可选,可以通过共享内存来高效实现。本机的多个进程和其它机器的多个进程的通讯如何管理?要有一个管理程序负责网络部分的发送的接收。机器之间的消息传递先发给它,由它转发到另外机器上一个相同功能的管理程序上,再分发给目标进程。
然后就是每个进程各自维护消息队列,处理消息接收及发送,似乎也不是那么复杂。spawn可能稍麻烦点,进程要是fork出来还比较方便,如果是新开进程的话该怎么传递方法入口?ruby不像C有静态函数地址,不知道erlang是怎么做这个的,难道是传递方法名字字符串?
上一篇: 进程和线程