Heim >Java >javaLernprogramm >Was passiert, wenn wir die run()-Methode in Java direkt aufrufen?

Was passiert, wenn wir die run()-Methode in Java direkt aufrufen?

PHPz
PHPznach vorne
2023-09-08 14:57:021437Durchsuche

Was passiert, wenn wir die run()-Methode in Java direkt aufrufen?

Der direkte Aufruf der run()-Methode eines Thread-Objekts startet keinen separaten Thread und kann innerhalb des aktuellen Threads ausgeführt werden. Um Runnable.run von einem separaten Thread aus auszuführen, führen Sie einen der folgenden Schritte aus:

  • Erstellen Sie ein Thread >-Objekt mit Runnable und rufen Sie die Methode start() für Thread auf.
  • Definieren Sie eine Unterklasse des Thread-Objekts und überschreiben Sie die Definition seiner run() -Methode. Erstellen Sie dann eine Instanz dieser Unterklasse und rufen Sie die Methode start() der Instanz direkt auf.

Beispiel

public class ThreadRunMethodTest {
   public static void main(String args[]) {
      MyThread runnable = new MyThread();
      runnable.run(); // Call to run() method does not start a separate thread
      System.out.println("Main Thread");
   }
}
class MyThread extends Thread {
   public void run() {
      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Child Thread interrupted.");
      }
      System.out.println("Child Thread");
   }
}

Im obigen Beispiel verwendet der Hauptthread ThreadRunMethodTest die run()-Methode, um den untergeordneten Thread MyThread aufzurufen. Dadurch wird der untergeordnete Thread vollständig ausgeführt, bevor der Rest des Hauptthreads ausgeführt wird, sodass „Untergeordneter Thread“ vor „Hauptthread“ gedruckt wird.

Ausgabe

Child Thread
Main Thread

Das obige ist der detaillierte Inhalt vonWas passiert, wenn wir die run()-Methode in Java direkt aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen