測試主機配置: 為windows10 16核32G、Linux 2核2G、Linux 8核16G、
Cpu型號和核心數(shù),下面已經(jīng)列出。
在Windows10操作系統(tǒng)下 16核32G操作系統(tǒng)下
這里我們先給出結論
不同的主機配置,執(zhí)行結果是不一樣的,而且處理不同的任務,結果也是不一樣的。所以并發(fā)執(zhí)行效率不一定比串行快。
package demo1;
public class ConcurrencyTest {public static void main(String[] args) throws InterruptedException {int[] arrCount=new int[]{10000,100000,10000000,100000000,1000000000};
for (int i = 0; i< arrCount.length; i++) {int count = arrCount[i];
System.out.println("并發(fā)累計執(zhí)行 :"+count+"次");
concurrency(count);
serial(count);
System.out.println("----------------------------");
}
}
private static void concurrency(int count) throws InterruptedException {long start= System.currentTimeMillis();
Thread thread=new Thread(new Runnable() {@Override
public void run() { int a=0;
for (long i = 0; i< count; i++) {a+=5;
}
}
});
thread.start();
int b=0;
for (long i = 0; i< count; i++) {b--;
}
thread.join();
long time = System.currentTimeMillis()-start;
System.out.println("concurrency :"+time+"ms,b="+b);
}
private static void serial(int count){long start= System.currentTimeMillis();
int a=0;
for (long i = 0; i< count; i++) {a+=5;
}
int b=0;
for (long i = 0; i< count; i++) {b--;
}
long time = System.currentTimeMillis() - start;
System.out.println("serial :"+time+"ms,b="+b+",a="+a);
}
}
在Linux 2核2G操作系統(tǒng)下:在Linux 8核16G操作系統(tǒng)下:
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧