1

如果我有多核机器,Java 线程是否在不同的处理器核心上运行?换句话说,如果我运行 Thread.start(),这个线程是绿色的还是原生的?

谢谢

4

1 回答 1

4

在 Java 1.1 中,绿色线程是 JVM 使用的唯一线程模型,至少在 Solaris 上是这样。由于与原生线程相比,绿色线程有一些限制,因此后续的 Java 版本放弃了它们,转而使用原生线程。

一个例外是 Squawk 虚拟机,它是低功耗设备操作系统和 Java 虚拟机的混合体。它使用绿色线程以将本机代码保持在绝对最低限度并支持其隔离区的迁移。

维基百科如是说。

于 2012-04-21T11:31:21.683 回答