Java学習に基づくマルチスレッドの実装方法

高洛峰
リリース: 2017-03-19 11:23:52
オリジナル
1657 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート