Jak działa metoda Java run ()?

Wielowątkowość w Javie odbywa się poprzez zdefiniowanie run () i wywołanie start ().

Uruchom delegatów do metody rodzimej, która uruchamia wątek za pomocą procedur systemu operacyjnego, a run () jest wywoływany z tego nowo utworzonego wątku.

Po uruchomieniu aplikacji autonomicznej automatycznie tworzony jest wątek główny, aby uruchomić main ().

Teraz rozważ ten kod -

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

To jest wyjście -

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)

Jeśli metoda main () jest uruchamiana przez wątek, dlaczego nie działa () pojawia się na górze hierarchii wywołania?

W jaki sposób główny wątek może zostać utworzony bez implementacji Runnable?

questionAnswers(4)

yourAnswerToTheQuestion