从http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html:
Java虚拟机将继续执行线程,直到发生以下任何一种情况:
已调用类Runtime的退出方法,并且安全管理器已允许进行退出操作。
不是守护程序线程的所有线程都已死,要么通过从调用返回到run方法,要么抛出传播到run方法之外的异常。
在您的情况下,当主线程死亡时,JVM不会退出,因为您仍在运行所创建的线程,并且默认情况下它们是守护程序,因此:
当且仅当创建它的线程当前被标记为守护程序线程时,才将新创建的线程最初标记为守护程序线程。setDaemon方法可用于更改线程是否是守护程序。
引用:http
:
//docs.oracle.com/javase/6/docs/api/java/lang/Thread.html#setDaemon(boolean)



