ホームページ  >  記事  >  Java  >  Javaでのマルチスレッドの実装

Javaでのマルチスレッドの実装

王林
王林転載
2019-11-28 17:00:292565ブラウズ

Javaでのマルチスレッドの実装

最初の方法は、Thread クラスのサブクラスを定義することです:

//第一种方法
public class MyThread extends Thread {
    @Override
    public void run() {
        String name = getName(); // 获取线程名称
        System.out.println(name); // 输出 Thread-0
    }
}
rrree

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);
        }
    }
}

マルチスレッドを作成するために Runnable インターフェイスを実装する利点:

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 推奨関連記事チュートリアル: javaクイック スタート

以上がJavaでのマルチスレッドの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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