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

haw*_*eye 6 macros asynchronous scala clojure

在这个演讲中, Haller讨论了Scala Async.

在这个演示文稿中 - Rich Hickey谈论了Clojure的core.async.

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

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

d.j*_*ick 8

core.async的go宏为'channels'提供了非阻塞的put和take操作,否则阻塞了多对多队列.

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

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