ホームページ  >  記事  >  Java  >  Java で run() メソッドを直接呼び出すとどうなるでしょうか?

Java で run() メソッドを直接呼び出すとどうなるでしょうか?

PHPz
PHPz転載
2023-09-08 14:57:021405ブラウズ

Java で run() メソッドを直接呼び出すとどうなるでしょうか?

Thread オブジェクト run() メソッドを直接呼び出しても、 別のスレッド は開始されず、内部で実行できます。現在のスレッド。別のスレッドから Runnable.run を実行するには、次のいずれかを実行します。

  • Runnable を使用してスレッド > オブジェクトを構築し、 で Thread を呼び出します。 start() メソッド。
  • Thread オブジェクトのサブクラスを定義し、その run() メソッドの定義をオーバーライドします。次に、サブクラスのインスタンスを構築し、インスタンスの start() メソッドを直接呼び出します。

Example

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 を呼び出します。 。これにより、残りのメイン スレッドが実行される前に子スレッドが完了するまで実行されるため、「Child Thread」が「Main Thread」の前に出力されます。

出力

Child Thread
Main Thread

以上がJava で run() メソッドを直接呼び出すとどうなるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。