ここで説明が必要です。
public static void main(String[] args) {
FirstThread obj = new FirstThread();
for (int i = 1; i <= 10; i++) {
new WaiterThread(obj).start();
}
obj.start();
}
public class FirstThread extends Thread {
@Override
public void run() {
// Do something
}
}
public class WaiterThread extends Thread {
Object obj;
WaiterThread(Object obj) {
this.obj = obj;
}
@Override
public void run() {
synchronized (obj) {
obj.wait();
}
}
}
WaiterThread用に 10 個のスレッドが作成され、単一のFirstThreadオブジェクトを待機しています。FirstThread が終了した後、 obj.notify()またはobj.notifyAll()が呼び出されることなく、すべてのWaiterThreadが再開されます。
これは、 WaiterThread が終了したため、FirstThreadの待機を停止したということですか?