Thread オブジェクト の run() メソッドを直接呼び出しても、 別のスレッド は開始されず、内部で実行できます。現在のスレッド。別のスレッドから Runnable.run を実行するには、次のいずれかを実行します。
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 サイトの他の関連記事を参照してください。