为什么ForkJoinPool是为Scala派生的?
在哪种情况下,哪种实现是首选的?
发布于 2013-01-28 20:48:53
scala库拥有自己的ForkJoinPool副本的明显原因是scala必须在1.7之前的JVM上运行,而ForkJoinPool是在Java1.7中才引入的。
此外,还做了一些内部(scala)使用的更改,例如:
https://github.com/scala/scala/commit/76e9da2ca4c31daec2b04848c3c2dbad6ecd426e
鉴于scala的版本可能不会给您带来任何优势(如果您是在java1.7上编译和运行的),我想说的是,对于您自己的使用,您可能应该使用java的版本。至少java的版本是精确记录的,并且是完全公开的,而scala的版本的状态是不清楚的(它很可能仅供内部使用)。然而,在某些地方,您可能没有任何选择。例如,ForkJoinTasks有一个forkJoinPool方法,它需要scala版本的ForkJoinPool。如果有人可以获得/找到scala版本的ForkJoinPool的官方状态,声明它真的是公开的和稳定的,那么我很乐意恢复这个建议。
https://stackoverflow.com/questions/14562070
复制相似问题