我用Java创建了一个简单的程序:
public static void main(String[] args) throws InterruptedException {
while (true)
;
}
如果我在Linux机器上运行此程序,它会显示100%的CPU使用率,但不会导致操作系统显示缓慢。但是,如果我在Windows上运行完全相同的代码,则仅显示约20%的CPU使用率。
我在Windows上使用Oracle JRE,在Linux上使用OpenJDK 6。
我想知道Windows的调度程序是否会随机抢占线程,而Linux的不是吗?
5
这取决于操作系统任务计划。
—
Subhrajyoti Majumder 2013年
您有几个核心?当所有内核都忙时,Windows任务管理器报告100%。您的linux工具是否执行类似的操作,或者报告1个内核的工作量占100%,而当所有内核都忙时,它是
—
2013年
100*N cores %
?
我有4个核心,在Linux上,我使用系统监控工具
—
Maniek
@Quoi不是。如果该程序已全部运行,则该线程将在Windows和Linux上运行而不会中断。
—
David Heffernan