gpt4 book ai didi

java - JVM 或底层操作系统是否处理线程状态更改

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:26 24 4
gpt4 key购买 nike

当我创建一个多线程程序并使用 Wait 或 Signal 等方法控制线程时,JVM 是否控制所有线程状态更改或底层操作系统是否与它有任何关系。

最佳答案

这取决于 JVM 的实现。大多数现代 JVM(Suns HotSpot、Oracles JRockit、IBM VM)将使用操作系统线程模型,因为这将提供最佳性能。

早期的实现使用绿色线程 - VM 使用自身对线程进行建模。这通常在运行它的平台或操作系统不支持线程时使用。例如,在 Java 1.1 中,在 Solaris 上使用了 Green Threads。当时,在 Solaris 中使用多核/CPU 的常见模式是使用多进程 - 直到后来才将线程添加到操作系统。

Java 语言规范没有指定必须如何实现线程,但一般来说,如果操作系统支持线程,现代 JVM 将使用操作系统实现。当操作系统不支持时,例如在低端手机或 Java Card 实现中,运行时将使用绿色线程。

关于java - JVM 或底层操作系统是否处理线程状态更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com