假设我在Java中使用不可变数据结构编写程序.即使它不是一种功能语言,它也应该能够并行执行.如何确保使用处理器的所有内核执行程序?计算机如何决定可以并行运行哪些代码?
PS我问这个问题的意图不是要找出如何并行化java程序.但要知道 - 计算机如何并行化代码.它可以在用非功能语言编写的功能程序中完成吗?
Java程序通过线程并行化.计算机无法神奇地弄清楚如何使用Java等命令式语言在所有核心上分发应用程序的各个部分.只有像Erlang或Haskell这样的函数式语言才能做到这一点.阅读Java线程.
我不知道自动并行化 JVM.它们确实存在于FORTRAN等其他语言中.
您可能会发现为JDK7安排的JSR166y fork-join框架很有趣.