微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scala – 是特定语言的演员模式吗?

我正在读一本关于erlang和演员模特的 interesting blog post.我也听说scala支持演员模特儿.从我迄今收集的小部分,演员模型将处理分解成通过传递消息相互通信的组件.通常,这些进程是不可变的.

这些功能在架构层面上是否具有语言特定性?更具体地说,你不能用几乎任何语言实现相同的演员模型,而只是使用某种形式的消息队列来在工作进程之间传递消息? (例如,使用像celery这样的东西).还是那些像erlang和scala这样的语言呢这样透明地和much faster呢?

解决方法

当然,你可以用几乎任何一种语言来定义一个“Actor Library”,但是在Erlang里面,这个模型是用来编写的,而且是真正的唯一并发模型.

虽然Scala的演员系统得到很好的实施,但是在最后一天,它仍然容易受到Erlang所免疫的一些危害.我会提请你注意这个paper.

对于支持共享可变状态的任何命令式语言实现的任何Actor库都是如此.

一个有趣的例外是Nodes.js.有些工作正在与节点之间的演员完成,这些演员可能表现出与Erlang相同的隔离属性,只是因为没有共享的可变状态.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐