[英]How to use multiple cores with java?
我試圖了解Java線程如何與CPU內核一起工作。 我有一個4核CPU,當我嘗試在以下代碼下運行時,執行時間很有趣。 為什么它不通過多個線程加速? 難道我做錯了什么?
availableProcessors()順便返回4。
下面的代碼需要將近27秒;
Runnable runnable = new Runnable() {
@Override
public void run() {
int x = 0;
while(x < 10000000){
System.out.println(x);
x++;
}
}
};
Thread t1 = new Thread(runnable);
t1.start();
當我使用多個線程時,需要33秒;
Runnable runnable = new Runnable() {
@Override
public void run() {
int x = 0;
while(x < 5000000){
System.out.println(x);
x++;
}
}
};
Runnable runnable2 = new Runnable() {
@Override
public void run() {
int x = 5000000;
while(x < 10000000){
System.out.println(x);
x++;
}
}
};
Thread t1 = new Thread(runnable);
t1.start();
Thread t2 = new Thread(runnable2);
t2.start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.