首頁  >  文章  >  Java  >  如果我們直接呼叫Java中的run()方法會發生什麼事?

如果我們直接呼叫Java中的run()方法會發生什麼事?

PHPz
PHPz轉載
2023-09-08 14:57:021399瀏覽

如果我們直接呼叫Java中的run()方法會發生什麼事?

直接呼叫Thread 物件的 run() 方法不會啟動單獨的執行緒,並且可以在目前執行緒內執行。要從單獨的執行緒執行Runnable.run,請執行下列操作之一

  • 使用Runnable 建構一個執行緒> 物件並呼叫Thread 上的start() 方法。
  • 定義 Thread 物件的子類別並覆寫其 run() 方法的定義。然後建構該子類別的實例並直接呼叫該實例的 start() 方法。

範例

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

在上面的範例中,主執行緒 ThreadRunMethodTest 使用 run() 方法呼叫子執行緒 MyThread#。這會導致子執行緒在主執行緒的其餘部分執行之前運行完成,以便在「Main Thread」之前列印「Child Thread」。

輸出

Child Thread
Main Thread
##

以上是如果我們直接呼叫Java中的run()方法會發生什麼事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除