gpt4 book ai didi

java - 多线程中所有处理器使用率如何达到 100%

转载 作者:行者123 更新时间:2023-12-01 12:10:33 24 4
gpt4 key购买 nike

我的系统是7核CPU机器。我刚刚尝试运行下面的程序

 for(int i=0;i<10; i++)
{
new Thread(new Runnable()
{
@Override
public void run()
{
while (true)
{

}
}
}).start();;
}

现在我的CPU全部使用率为100%(7核为100%)。这里 10 个线程位于单个进程 javaw.exe 中。它是如何分配到我的所有 CPU 核心上的?

单个进程是否可以在多个内核中运行,或者 java 实现是否负责跨不同处理器提供线程?

最佳答案

是的,同一进程的多个线程可以分布在多个CPU上。对于许多应用程序来说,这就是使用多线程的全部意义。

当前大多数 JVM 实现都使用 native 操作系统线程(一个 Java 线程 - 一个操作系统线程),因此这一切都是由操作系统完成的。另一种选择是“green threads ”,其中 JVM 将手动安排执行。对于没有“真正”线程的体系结构或操作系统来说,这似乎已成为过去。

关于java - 多线程中所有处理器使用率如何达到 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27309855/

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