-4
我有一個java中的線程數組,長度爲24. 我想運行它們,但如果我運行了兩個以上的計算機,我的計算機將被關閉。 我該如何在任何時刻只運行其中的兩個? 這是我寫的,但它不工作(運行此代碼我的電腦關機後):如果運行該代碼關閉計算機在java中的多線程與確切的線程數
File[] files = file.listFiles();
Thread[] threads = new Thread[files.length];
for (int i = 0; i < files.length; i++) {
File a = files[i];
threads[i] = new Thread(new Runnable() {
@Override
public void run() {
Function(a.toString());
}
});
}
Thread a = null,b = null;
int i = 0;
while (i < files.length) {
if (!a.isAlive()) {
a = threads[i];
a.start();
i++;
}
if (!b.isAlive()) {
b = threads[i];
b.start();
i++;
}
}
當您嘗試運行3個線程時,您的計算機將關閉?這很奇怪...... – shmosel
看起來它會在NPE開始第一個線程之前崩潰。 – tkausl
電腦關機?你確定? –