【发布时间】:2016-03-31 01:30:32
【问题描述】:
在下面的代码中,为什么主线程要等到子线程完成。
驱动程序.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()' 之后的 Driver 类中,程序不应该退出吗?我没有使用连接,但主线程仍在等待,直到新旋转的“ThreadRunner”运行运行。是不是因为在java中主线程(由main方法启动)总是等到所有线程都关闭?
【问题讨论】:
标签: java multithreading