Heim > Java > javaLernprogramm > 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
Freigeben: 2023-09-15 12:13:02
nach vorne
1217 Leute haben es durchsucht

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>
   }
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage