この記事ではJavaの学習を踏まえたマルチスレッドの実装方法を紹介します
1 Threadクラスを継承する
私がマルチスレッドの実装方法としてThreadクラスを継承する方法を挙げましたが、Threadも本質的にはスレッドのインスタンスを表す Runnable インターフェイス Instance を実装します。スレッドを開始する唯一の方法は、Thread クラスの start() インスタンス メソッドを使用することです。 start() メソッドは、新しいスレッドを開始して run() メソッドを実行するネイティブ メソッドです。この方法でマルチスレッドを実装するのは非常に簡単です。独自のクラスを通じて Thread を直接拡張し、run() メソッドをオーバーライドすることで、新しいスレッドを開始し、独自に定義した run() メソッドを実行できます。
public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()"); } } //启动线程 MyThread myThread1 = new MyThread(); MyThread myThread2 = new MyThread(); myThread1.start(); myThread2.start();
2 Runnableインターフェースを実装する
クラスが他のクラスを継承する場合、Threadクラスを継承できない(Javaでは多重継承がサポートされていない)ため、Runnableインターフェースを実装し、run()メソッドを書き直す必要があります。実装クラス。 main メソッドでマルチスレッドを実装します。実装クラス オブジェクトをインスタンス化し、Thread クラス オブジェクトを初期化し、実装クラスを Thread オブジェクトに渡します。実際、Runnable ターゲット パラメータが Thread に渡されると、Thread の run() メソッドは target.run() を呼び出します。
//实现Runnable接口 public class MyThread extends OtherClass implements Runnable { public void run() { System.out.println("MyThread.run()"); } } //复写run()方法 public void run() { if (target != null) { target.run(); } } //实例化对象 MyThread myThread = new MyThread(); Thread thread = new Thread(myThread); thread.start();
3 ExecutorService、Callable、Future を使用して、返された結果でマルチスレッドを実装します
この部分の内容はまだ学習されていないため、後で追加されます
以上がJava学習に基づくマルチスレッドの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。