Wie funktioniert die Java-Methode run ()?

Multithreading in Java wird durch Definieren von run () und Aufrufen von start () durchgeführt.

Starten Sie Delegaten an eine systemeigene Methode, die einen Thread über Betriebssystemroutinen startet und run () aus diesem neu erstellten Thread heraus aufruft.

Wenn eine eigenständige Anwendung gestartet wird, wird automatisch ein Hauptthread erstellt, um main () auszuführen.

Betrachten Sie nun diesen Code -

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");
    }
}

Dies ist die Ausgabe -

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)

Wenn die main () -Methode über einen Thread gestartet wird, warum wird run () nicht oben in der Aufrufhierarchie angezeigt?

Wie könnte der Haupt-Thread erzeugt werden, ohne Runnable zu implementieren?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage