ホームページ  >  記事  >  Java  >  Javaでスレッドを開始する3つの方法の比較分析

Javaでスレッドを開始する3つの方法の比較分析

高洛峰
高洛峰オリジナル
2017-01-21 16:33:411305ブラウズ

この記事の例では、Javaでスレッドを開始する方法を共有します

1. Threadを継承

public class java_thread extends Thread{
  public static void main(String args[])
  {
    (new java_thread()).run();
    System.out.println("main thread run ");
  }
  public synchronized void run()
  {
    System.out.println("sub thread run ");
  }
  
}

2. Runnableインターフェースを実装します

。関数本体に直接記述します

public class java_thread implements Runnable{
  public static void main(String args[])
  {
    (new Thread(new java_thread())).start();
    System.out.println("main thread run ");
  }
  public void run()
  {
    System.out.println("sub thread run ");
  }
  
}

4. 比較:


Runnable インターフェイスを実装する利点:

1) 同じプログラム コードの複数のスレッドが同じリソースを処理するのに適しています

2) の制限を回避できます。 Java の単一継承
3) プログラムの数を増やす 堅牢性、コードを複数のスレッドで共有でき、コードとデータは独立しています。


Thread クラスを継承する利点:

1) 抽象ファクトリー パターン設計を使用する必要がある場合、スレッド クラスを抽象化できます。

2) マルチスレッド同期


関数本体を使用する利点

1) スレッドを継承したり、スコープを減らすために Runnable を実装したりする必要がありません。


以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんも PHP 中国語 Web サイトをサポートしていただければ幸いです。

Java でスレッドを開始する 3 つの方法の比較分析に関する記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。