为什么没有“Thread.sleep”的“while(true)”在Linux上会导致100%的CPU使用率,但在Windows上却没有?
2022-08-31 07:16:10
我用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则没有?