ホームページ  >  記事  >  Java  >  Java start() と run() の違いは何ですか

Java start() と run() の違いは何ですか

WBOY
WBOY転載
2023-04-25 08:43:062185ブラウズ

1. 概念の違い

start(): スレッド オブジェクトを生成した後、start() メソッドを呼び出してスレッドを開始します。このとき、スレッドは CPU によるスケジュールを待ち、スケジューリング後に run() メソッドを実行し、start() メソッドを使用してスレッドを開始することで、真のマルチスレッドを実現します。

run(): run() メソッドは Thread の共通メソッドです。スレッド オブジェクトで run() メソッドを直接呼び出すと、メイン スレッドで実行されます。プログラム内のメインスレッドは 1 つだけであるため、プログラム内に 2 つのスレッドがある場合、 run() メソッドが直接呼び出され、プログラムが順番に実行され、マルチスレッドは実装されません。

2.例

public static void main(String[] args) {
    Thread t1 = new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
        }
    },"unstoppbale_t");
    t1.start();
}

以上がJava start() と run() の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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