5

当我在随 Ubuntu 12.04 分发的 OpenJDK 6 JVM 上运行我的多线程 Java 程序时,所有线程都安排在一个内核上。但是当我从 Oracle 最新的 1.7 JDK 在 JVM 上运行完全相同的程序时,它很好地围绕所有 24 个可用内核旋转了我的 20 个线程。OpenJDK 文档解释说 Java 线程将被分配给本机线程,但它似乎不起作用。我的 OpenJDK 安装中是否存在配置错误,或者它是否真的不支持多核硬件?

OpenJDK:

java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

甲骨文JDK:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
4

0 回答 0