最初の方法は、Thread クラスのサブクラスを定義することです:
//第一种方法 public class MyThread extends Thread { @Override public void run() { String name = getName(); // 获取线程名称 System.out.println(name); // 输出 Thread-0 } }
java 関連ビデオの推奨事項: java オンライン学習
マルチスレッドを有効にする:
//第二种方法 public class MyThread extends Thread { @Override public void run() { Thread t = Thread.currentThread(); // 获取当前线程 System.out.println(t); // 下面调用后输出 Thread[Thread-0,5,main] System.out.println(t.getName());// 输出 Thread-0 } }
2 番目の方法は、Runnable インターフェイスを実装することです:
実装手順:
1. Runnable インターフェースの実装クラスを作成します
#2. 実装クラスで Runnable インターフェースの run メソッドをオーバーライドし、スレッド タスクを設定します#3. の実装クラス オブジェクトを作成しますRunnable インターフェイス
4. Thread クラス オブジェクトを作成し、Runnable インターフェイスの実装クラス オブジェクトをコンストラクター メソッド
5. Thread クラスの start メソッドを呼び出して新しいインターフェイスを開始します。 run メソッドを実行するスレッド
public class demo1Test { public static void main(String[] args) { MyThread mt = new MyThread(); mt.start();// 会运行MyThread的run()方法 } }
public class Runnableimpl implements Runnable {//1.创建一个Runnable 接口的实现类 @Override public void run() { for (int i = 1; i <= 20; i++) {// 2.在实现类中重写Runnable接口的run方法,设置线程任务 System.out.println(Thread.currentThread().getName() + i); } } }
1. 単一継承の制限を回避します。
#クラスは 1 つのクラスのみを継承できます。クラスが Thread を継承した後は、他のクラスを継承できません。
Runnable インターフェイスを実装し、他のクラスを継承して他のインターフェイスを実装することもできます。 。2. プログラムのスケーラビリティを強化し、プログラムの結合を軽減します
Runnable インターフェイスを実装する方法は、スレッド タスクの設定とスレッド タスクの開始を分離します
実装クラスで、run() メソッドをオーバーライドしてスレッド タスクを設定します。 Thread クラス オブジェクトを作成し、start() メソッドを呼び出して新しいスレッドを開始しますsleep() メソッドをスリープ状態にします
public class demo2Test { public static void main(String[] args) { Runnable run = new Runnableimpl();//3.创建一个Runnable接口的实现类对象 Thread t = new Thread(run); //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象 t.start();//5.调用Thread类中的start方法,开启新的线程执行run方法 for (int i = 1; i <= 20; i++) { System.out.println(Thread.currentThread().getName() + i); } // Thread-0和main开始多线程抢夺cpu } }
以上がJavaでのマルチスレッドの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。