実行するものが 10 個あるとしますが、一度に実行できるスレッドは 3 つだけです。
ArrayList<NewThread> threads = new ArrayList<NewThread>();
for(int i = 1; i < args.length; i++) {
NewThread t = new NewThread(args[i]);
threads.add(newThread);
if( (i%3) == 0) {
for (NewThread nt : threads) {
nt.join();
}
threads.clear();
}
}
クラス NewThreads は Runnable を実装します。join() メソッドは、スレッドが終了するのを待ってから再びループしてスレッドの次のバッチを開始するように機能すると思っていましたが、代わりにスタック オーバーフロー例外が発生しました。join() を間違って実装していると思いますが、その方法がわかりません。私は現在それをやっています
public void join() {
this.join();
}
私のNewThreadクラスで。これを機能させる方法、またはより良い方法について何か提案はありますか?