当前位置: 代码迷 >> J2SE >> main线程为什么会等待子线程执行完毕才退出解决方案
  详细解决方案

main线程为什么会等待子线程执行完毕才退出解决方案

热度:137   发布时间:2016-04-23 19:47:03.0
main线程为什么会等待子线程执行完毕才退出
不知道这个理解有无错误,
比如在main方法中:
public static void main(String[] args){
  Thread t = new Thread(new Runnable(){
    public void run(){
      for(int i=1;i<=100;i++){
         System.out.println(i);
      }
    }
  });
  t.start();
}

按理说主线程肯定比t线程更快执行完毕死亡,绝对等不到100输出完毕程序就已经退出了,可以这里100却能完好的输出,麻烦大神讲解一下
------解决思路----------------------
仅有main线程一个用户线程执行完毕,不能决定JVM是否退出 ,所以t线程还会自己执行完的,
------解决思路----------------------
所有前台线程结束jvm才退出。
或者System.exit(0);强制退出。
  相关解决方案