时间:2010-07-24 20:01:53

标签: java multithreading project parallel-processing virtual-machine

7 个答案:

答案 0 :(得分:13)

答案 1 :(得分:6)

答案 2 :(得分:5)

答案 3 :(得分:1)

答案 4 :(得分:1)

答案 5 :(得分:0)

我已经了解到,从JDK 1.8(Java 8)开始,通过使用parallelStream()可以利用/利用CPU的多个内核以防止流使用。

但是,已经进行了研究,在最终确定要使用parallelStream()进行生产之前,最好通过对性能进行基准测试来比较sequence_()与parallel()并确定最理想的方法。

为什么?/原因是:在某些情况下,当操作需要执行自动拆箱/装箱操作时,并行流的性能将大大低于顺序流。对于这些情况,建议使用Java 8 Primitive Streams,例如IntStream,LongStream,DoubleStream。

参考:现代Java的应用:Manning出版物2019

答案 6 :(得分:-1)

编程语言是Java,Java是虚拟机。因此,不应该能够在运行时在VM拥有的不同线程上执行代码。由于所有的内存等都被处理,因为它不会导致任何损坏。您可以将代码视为一堆指令,估计执行时间,然后将其分发到一个线程数组,每个线程都有一个同时执行堆栈。虽然像OpenGL立即模式这样的图形需要维护顺序并且大部分都不应该进行线程化,但这可能是危险的。