ホームページ >Java >&#&チュートリアル >Java スレッドの Run() と start(): マルチスレッド動作の違いは何ですか?
スレッド処理における Run() と start() の比較: 包括的な説明
マルチスレッド プログラミングにおける Thread.run の違いを効果的に理解する() および Runnable.run() は
質問:
次のコード スニペットを考えてみましょう:
public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); r1.run(); r2.run(); }
public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); Thread t1 = new Thread(r1); Thread t2 = new Thread(r2); t1.start(); t2.start(); }
答え:
最初の例: いいえマルチスレッド
最初のスニペットでは、r1.run() と r2.run() は新しいスレッドを作成せずに直接実行されます。その結果、R1 と R2 の両方がメイン スレッド内で順次実行されます。
2 番目の例: マルチスレッド
2 番目のスニペットでは、Thread オブジェクト (t1 および t2) が作成されます。 R1 インスタンスと R2 インスタンスをそれぞれカプセル化します。 t1.start() と t2.start() が呼び出されると、新しいスレッドが開始され、それぞれが対応する Runnable 実装の run() メソッドをメイン スレッドと並行して実行します。
Key相違点:
以上がJava スレッドの Run() と start(): マルチスレッド動作の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。