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

PHPz
リリース: 2023-09-08 14:57:02
転載
1404 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート