測試機型配置如下:
讓cpu佔用率最高,只要讓他時鐘週期一直佔用就可以了,但是我發現我的cpu是四線程的,i++的while循環只能讓cpu工作在25%左右,這主要是因爲只有一個線程在滿負荷運行,100%分擔到四個核心就只有25%了,在我開啓兩個線程的情況下,負荷在50%左右,如下圖:
可以很清楚的看到只有兩個核心是在滿負荷工作,下圖是開啓全部四個核心:
Boush表示電腦卡的不行了,鼠標都動不了,費了好大的勁才截的圖。。。。。。
老樣子,附上代碼!
package 編程之美;
public class CpuTest extends Thread {
public static void main(String[] args) {
CpuTest myThread1 = new CpuTest();
CpuTest myThread2 = new CpuTest();
CpuTest myThread3 = new CpuTest();
CpuTest myThread4 = new CpuTest();
myThread1.start();
myThread2.start();
myThread3.start();
myThread4.start();
}
public void run() {
int i = 0;
while(true){
i++;
}
}
}
開兩個進程就是50%!四個線程是100%。