Java로 간단한 프로그램을 만들었습니다.
public static void main(String[] args) throws InterruptedException {
while (true)
;
}
Linux 컴퓨터에서 이것을 실행하면 100 % CPU 사용량이 표시되지만 OS가 느리게 나타나지는 않습니다. 그러나 Windows에서 정확히 동일한 코드를 실행하면 CPU 사용률이 약 20 %에 불과합니다.
Windows에서 Oracle JRE를 사용하고 Linux에서 OpenJDK 6을 사용하고 있습니다.
Windows 스케줄러가 스레드를 무작위로 선점하고 Linux가 아닌지 궁금합니다.
5
운영 체제 작업 예약에 따라 다릅니다.
—
Subhrajyoti Majumder
코어가 몇 개입니까? 모든 코어가 사용중인 경우 Windows 작업 관리자가 100 %를보고합니다. 리눅스 도구가 비슷한 작업을 수행합니까, 아니면 1 코어 작업에 대해 100 %를보고
—
yiding
100*N cores %
합니까? 모든 코어가 사용 중일 때 ?
나는 4 개의 코어를 가지고 있고 리눅스에서는 시스템 모니터 도구를 사용한다
—
Maniek
@Quoi 실제로는 아닙니다. 해당 프로그램이 모두 실행중인 경우 스레드는 Windows 및 Linux에서 중단없이 실행됩니다.
—
David Heffernan