以下のコードでは、メインスレッドが子スレッドが終了するまで待機するのはなぜですか?メインスレッドはなぜ待機するのですか
Driver.java
public class Driver {
public static void main(String[] args) throws InterruptedException {
Thread t = new Thread(new ThreadRunner());
t.start();
}
}
ThreadRunner.java
ここでドライバーのクラスでpublic class ThreadRunner implements Runnable {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("Child thread" + i);
}
}
}
't.startを()' 呼び出した後にプログラムが終了するべきではないのですか?私は結合を使用していませんが、メインスレッドは新しくスピンされた 'ThreadRunner'の実行が実行されるまで待機します。それはJavaで(メインメソッドで起動される)メインスレッドは、すべてのスレッドが終了するまで常に待機しているからですか?