Почему “в то время как(правда)” без “резьбы.сон” вызывает 100% загрузку процессора на Linux, но не на Windows?

Я создал простую программу на Java:

public static void main(String[] args) throws InterruptedException {
    while (true) 
        ;
}

Если я запустить это на Linux-машине, он показывает 100% загрузку процессора, но не'т вызвать ОС появляются медленно. Однако, если я запускаю тот же код на Windows, он показывает только около 20% ЦП.

Я с помощью Oracle JRE на окна и OpenJDK 6 на Linux.

Я'м интересно, если на Windows' планировщик упредить потоков случайным образом и Linux'ы не'т?

Комментарии к вопросу (4)
Решение

По умолчанию, сверху на Linux работает в так называемом режиме ИРИКС, в то время как Диспетчер задач Windows не. Позвольте'ы сказать, что у вас 4 ядра:

  • В режиме Irix на, 1 полностью использованы ядра на 100% и 4 ядра составляет 400%.

  • В режиме ИРИКС выкл, 1 полностью использован сердечник 25% и 4 ядра на 100%.

Это означает, что по умолчанию сверху на Linux будет показывать бесконечный цикл, так как ~100% и Windows будет показывать его как ~25%, и это означает ровно то же самое.

Вы можете переключить режим ИРИКС, пока "сверху" работает с <и>сдвиг</роз>+<и>я&л;/роз>. Это позволит сделать цифры совпадают.

Комментарии (4)