¿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?