小编Man*_*iek的帖子

为什么没有"Thread.sleep"的"while(true)"在Linux上导致100%的CPU使用率而在Windows上却没有?

我在java中创建了一个简单的程序:

public static void main(String[] args) throws InterruptedException {
    while (true) 
        ;
}
Run Code Online (Sandbox Code Playgroud)

如果我在Linux机器上运行它,它会显示100%的CPU使用率,但不会导致操作系统显得很慢.但是,如果我在Windows上运行完全相同的代码,它只显示大约20%的CPU使用率.

我在Windows上使用Oracle JRE,在Linux上使用OpenJDK 6.

我想知道Windows的调度程序是否随机抢占线程而Linux是不是?

java linux windows multithreading cpu-usage

158
推荐指数
1
解决办法
7286
查看次数

标签 统计

cpu-usage ×1

java ×1

linux ×1

multithreading ×1

windows ×1