finalización del progtwig en la salida del hilo principal?

Tengo dos hilos: el hilo principal y un hilo generado a partir del hilo principal.

Cuando sale el hilo principal, ¿terminará todo el progtwig?

No.

Los progtwigs Java finalizan cuando finalizan todos los subprocesos no daemon.

La documentación dice:

Cuando se inicia una Máquina Virtual Java, generalmente hay una única cadena que no es daemon (que típicamente llama al método denominado main de alguna clase designada). La Máquina Virtual de Java continúa ejecutando subprocesos hasta que ocurra cualquiera de los siguientes:

  • Se ha llamado al método de exit de la clase Runtime y el administrador de seguridad ha permitido que se lleve a cabo la operación de salida.
  • Todos los subprocesos que no son subprocesos de daemon han muerto, ya sea al regresar de la llamada al método de run o al lanzar una excepción que se propaga más allá del método de run .

Si no desea que el tiempo de ejecución espere un hilo, llame al método setDaemon .

No. El subproceso principal no es subproceso de demonio, a menos que el subproceso secundario sea un subproceso de demonio, el progtwig no finalizará aunque el subproceso principal finalice antes del subproceso secundario. Puede verificarlo usando el progtwig de ejemplo siguiente.

 public class app { public static void main(String[] args) throws InterruptedException { app2.mt=Thread.currentThread(); app2 t = new app2(); t.start(); System.out.println("Main starts"); Thread.sleep(2000); System.out.println("Main ends"); } } class app2 extends Thread{ static Thread mt; public void run(){ try { mt.join();//waits till main thread dies. } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("child thread"); } }