在 这个演示文稿 中,Haller讲了关于Scala Async的内容。在这个演示文稿 中,Rich Hickey讲解了Clojure的core.async。两者似乎都是宏,但是Scala Async(如果我说错了,请纠正)似乎没有CSP或通道的概念。Scala Async和Clojure的core.async有什么区别?
core.async的go宏提供了非阻塞的"通道"(一对多队列)放置和取出操作。 Scala Async的async宏为普通Future的结果提供了非阻塞等待操作。 所以答案是不。core.async关注并发进程之间的通信,而Scala Async则处理仅仅是等待并发进程完成。core.async可以轻松模拟Scala Async的功能,但反过来则不行。