1

Netbeansで以下のコードを実行するたびに、実行とプロセスのCPU時間が変動するのはなぜですか。私のCPU使用率も毎回異なりますか。また、以下のコードの CPU 使用率を確認するにはどうすればよいですか。

class test{
static com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();

public static void main(String[] args) throws InterruptedException {


        long start1 = System.currentTimeMillis();
        long pstart1 = mxbean.getProcessCpuTime();
        long pstart2 = TimeUnit.MILLISECONDS.convert(pstart1, TimeUnit.NANOSECONDS);        

    for (int i = 0; i < 10000; i++) {    

            System.out.println("hello");

    }     

        long end1 = System.currentTimeMillis();
        long pend1 = mxbean.getProcessCpuTime();
        long pend2 = TimeUnit.MILLISECONDS.convert(pend1, TimeUnit.NANOSECONDS);
        float pdif = pend2 - pstart2;
        float edif = end1 - start1;

        System.out.println(edif);
        System.out.println(pdif);

}
}
4

1 に答える 1