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 サイトの他の関連記事を参照してください。