我想知道是否可以将编程语言 Clojure 用于消息传递并发模型,即两个进程/线程之间没有共享内存区域。
我希望使用 Clojure 有几个原因,即我了解并喜欢 Common Lisp,并且我想要一种函数式编程语言。我不太了解 Clojure 或并发,但是来自 wikipedia Clojure 通过软件事务内存、代理系统和动态变量系统实现并发。
- Clojure 可以实现消息传递并发模型吗?
- 如果不是,还有什么其他语言
感谢您的帮助!
最佳答案
Can Clojure implement a message passing concurrency model?
当然可以。它已经为 Clojure 实现了。检查Pulsar项目。它看起来很有前途,并为黄金时段做好了准备。
当然,没有什么能阻止您使用 Akka.io因为它是一个 JVM 项目(通过使用 Clojure 的内置 Java 互操作)。但 Pulsar 是在考虑 Clojure 的情况下创建的。
what other languages?
在 Actors 模型方面,Erlang 是无可争议的冠军。
关于multithreading - clojure 中用于并发的消息传递模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22643780/