Heim  >  Artikel  >  Java  >  Wann soll in Java Thread.run() anstelle von Thread.start() aufgerufen werden?

Wann soll in Java Thread.run() anstelle von Thread.start() aufgerufen werden?

WBOY
WBOYnach vorne
2023-09-15 12:13:021195Durchsuche

Wann soll in Java Thread.run() anstelle von Thread.start() aufgerufen werden?

Wenn wir die Methode start() für einen Thread aufrufen, wird die Ausführung des Threads gestartet und die Methode run() des Threads wird von der Java Virtual Machine (JVM) aufgerufen. Wenn wir die run()-Methode direkt aufrufen, wird sie als normale überschriebene Methode der Thread-Klasse (oder ausführbaren Schnittstelle) behandelt und im Kontext des aktuellen Threads ausgeführt, nicht in ein neuer Thread in Ausführung.

Beispiel

public class CallRunMethodTest extends Thread {
   @Override
   public void run() {
      System.out.println("In the run() method: " + Thread.currentThread().getName());
      for(int i = 0; i < 5 ; i++) {
         System.out.println("i: " + i);
         try {
            Thread.sleep(300);
         } catch (InterruptedException ie) {
            ie.printStackTrace();
         }
      }
  }
   public static void main(String[] args) {
      CallRunMethodTest t1 = new CallRunMethodTest();
      CallRunMethodTest t2 = new CallRunMethodTest();
      t1.run(); <strong>// calling run() method directly instead of start() method</strong>
      t2.run(); <strong>// calling run() method directly instead of start() method</strong>
   }
}

Im obigen Beispiel werden zwei Threads erstellt und die run()-Methode wird direkt auf den Threads aufgerufen, anstatt die start()-Methode aufzurufen.

Ausgabe

In the run() method: main
i: 0
i: 1
i: 2
i: 3
i: 4
In the run() method: main
i: 0
i: 1
i: 2
i: 3
i: 4

Das obige ist der detaillierte Inhalt vonWann soll in Java Thread.run() anstelle von Thread.start() aufgerufen werden?. 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