Scala Async是否可以完成Clojure的core.async所做的一切?

时间:2013-11-23 09:51:13

标签: scala asynchronous macros clojure

this presentation Haller谈论Scala Async。

this presentation中 - Rich Hickey谈论Clojure的core.async。

两者似乎都是宏 - 但Scala Async(如果我错了,请纠正我)似乎没有CSP或频道的概念。

Scala Async和Clojure的core.async之间有什么区别?

1 个答案:

答案 0 :(得分:8)

core.async的go宏为“通道”提供了非阻塞的放置和取消操作,否则会阻塞多对多队列。

Scala Async的async宏为普通Future的结果提供了非阻塞等待操作。

所以答案是否定的。 core.async是关于并发进程之间的通信,而Scala Async只是等待并发进程完成。 core.async可以轻松模拟Scala Async的功能,但反之亦然。