主线程退出程序终止?

use*_*949 28 java

我有两个线程:主线程和从主线程生成的线程.

当主线程退出时,整个程序会终止吗?

SLa*_*aks 34

没有.

当所有非守护程序线程完成时,Java程序终止.

文件规定:

当Java虚拟机启动时,通常会有一个非守护程序线程(通常调用某个指定类的名为main的方法).Java虚拟机继续执行线程,直到发生以下任一情况:

  • 已调用exit类的方法,Runtime并且安全管理器已允许进行退出操作.
  • 所有非守护程序线程的线程都已死亡,无论是通过从run方法调用返回还是抛出超出run方法传播的异常.

如果您不希望运行时等待线程,请调用该setDaemon方法.