私は、スレッドAがスレッドBのタスクを完了するのを待って、スレッドBがそのタスクを完了するとスレッドAにnotfiy()を続けるプログラムを開発しました。より多くのスレッドを生成する
class ThreadA {
public static void main(String [] args) {
ThreadB b = new ThreadB();
b.start();
synchronized(b) {
try {
System.out.println("Waiting for b to complete...");
b.wait();
} catch (InterruptedException e) {}
System.out.println("Total is: " + b.totals);
}
}
}
class ThreadB extends Thread {
public int totals;
public void run() {
synchronized(this) { //instance level lock
for(int i=0;i<100;i++) {
totals += i;
}
notify();
}
}
}
今私が欲しいので、スレッドAが待っているだけのよう、アドバイスしてください、3つの以上のスレッドを生成する方法を私に助言してください、3より多くのスレッドはスレッドBを待っていると言うことができます。
私は、あなたの最後の質問で提案したいくつかの提案を実行することから始めます:パブリックフィールドを取り除く、*スレッドを拡張しない*スレッドを呼び出さない*スレッドオブジェクトを通知する* (彼らはあなたを混乱させます。) –
あなたは正しくインデントしてください(私はあまりにもbtw)。それは適切に読んで見るのに役立ちます。 – Coffee
@jon、えええええええええええええええええええええええええええええええええええええええええええええええば助かります – dghtr