¿Cómo funciona el método Java run ()?

Los subprocesos múltiples en Java se hacen definiendo run () e invocando start ().

Los delegados de inicio a un método nativo que inician un subproceso a través de las rutinas del sistema operativo y se ejecuta run () desde este subproceso creado recientemente.

Cuando se inicia una aplicación independiente, se crea automáticamente un subproceso principal para ejecutar main ().

Ahora considera este código -

public class Test extends Thread {
    public static void main(String[] args) throws Exception {
        new Thread(new Test()).start();
        throw new RuntimeException("Exception from main thread");
    }
    public void run() {
        throw new RuntimeException("Exception from child thread");
    }
}

Esta es la salida -

java.lang.RuntimeException: Exception from child thread
    at com.Test.run(Test.java:11)
    at java.lang.Thread.run(Thread.java:662)
java.lang.RuntimeException: Exception from main thread
    at com.Test.main(Test.java:8)

Si el método main () se inicia a través de un hilo, ¿por qué no se ejecuta () en la parte superior de la jerarquía de invocación?

¿Cómo se puede generar el hilo principal sin implementar Runnable?

Respuestas a la pregunta(4)

Su respuesta a la pregunta