Closed. This question is opinion-based. It is not currently accepting answers. Learn more
想改进这个问题吗更新问题,以便editing this post可以用事实和引用来回答。
三年前关闭。
我对Java中的并发性了解不多,比如Fork/Join框架、锁、线程(全面)、执行器等。
我只是对这件事没有什么基本的知识和理论。
既然Clojure在JVM上运行,我想在跳入Clojure(并发)之前我必须非常了解Java的并发模型?
我编写Java,但工作时不需要并发。
现在我编写Clojure并想用它做一些并发性/并行性的工作。
我应该知道Java的并发模型,还是在使用Clojure时可以学习?

最佳答案

不,您不需要学习使用clojure的并发性和并行性特性。
我绝不会主张不学什么,尽管在这种情况下,如果你同时学这些东西,你可能会试图在Clojure中寻找锁,这几乎总是不必要的,而不是用惯用的Clojure方法。
您当然需要学习的是并发编程和并行编程的基本思想比如如何智能地分割工作,以及如何组合结果,以便得到正确的答案。
另外,如何避免太多线程导致资源匮乏这些东西几乎可以用任何语言来学习,尽管用Clojure来学习比其他语言更有趣。
一个可能的危险是,当在没有Clojure特性的情况下工作时,当回到Java中更传统的OO方法时,您可能会发现不太满意。

关于java - 在Clojure中使用并发之前,我是否应该全面了解Java并发和线程模型等? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40349756/

10-16 08:03