ホームページ >Java >&#&チュートリアル >実行可能 run() とスレッド start(): 主な違いは何ですか?
実行可能 run() とスレッド start()
質問:
同時実行Java プログラミングでは、Runnable インターフェイスはタスクのエントリ ポイントである run() メソッドを定義します。同様に、Thread クラスには、新しい実行スレッドを開始する start() メソッドがあります。これら 2 つのメソッドの主な違いは何ですか?
答え:
基本的な違いはスレッドの作成と実行にあります:
Runnable run (): スレッド作成なし
Thread start(): Thread Creation
例:
Runnable インターフェイスを実装する 2 つのクラス R1 と R2 について考えます。
class R1 implements Runnable { public void run() { ... } } class R2 implements Runnable { public void run() { ... } }
以下ではコード スニペットでは、r1.run() と r2.run() が直接呼び出されます。つまり、新しいスレッドは実行されません。 created:
public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); r1.run(); r2.run(); }
対照的に、次のコードは 2 つの新しいスレッド t1 と t2 を作成し、それらを開始します:
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 と r2 に関連付けられたタスク新しく作成されたスレッド内で同時に実行されます。
以上が実行可能 run() とスレッド start(): 主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。