相当于Clojure/Java中的Goroutines

mik*_*era 15 java concurrency clojure go goroutine

我最近很高兴看到关于Go Concurrency模式Google IO谈话

虽然Go的并发方法(灌浆,通道上的通信)明显不同于Clojure(不变性,管理参考,STM),但似乎Go方法在Clojure上下文中的某些情况下仍然有用.

因此,在Clojure或Java中可以直接使用Go的并发原语(可能是库),特别是:

  • channel类似的对象阻塞,直到两端都有读写器
  • 一个select样构造,可以等待在多个通道的结果

PS非常满意Java解决方案,因为它很容易从Clojure中使用

更新自问题最初被问到以来,Clojure现在拥有core.async,它提供了所有这些功能和更多功能.

小智 6

您应该查看core.async。它是 Rich Hickey 编写的一个实现 Go 风格通道的库。