クラスAのスレッドは、クラスBのスレッドが終了するまで待機するのはなぜですか? このサンプルでは、コード印刷System.out.println
は実行されません。 どうすれば修正できますか?Java:マルチスレッド
public class A implements Runnable {
public A() {
Thread t = new Thread(this);
t.start();
}
public static void main(String[] args) {
A tmp = new A();
}
public void run() {
B tmp = new B();
tmp.run();
System.out.println("Hello");
}
}
class B implements Runnable {
public B() {
}
public void run() {
while (true) {
}
}
}
なぜスレッドAはstartメソッドを呼び出しますが、スレッドBは実行を呼び出しますか? –