Javaのマルチスレッド化


マルチスレッドは、Javaでよく遭遇するものです.では、実際にはマルチスレッドは何ですか?どうしたの?なぜ必要か?
次のコードを考えてみましょう
public class Multithreading{
          public static void main(String args[]){
             System.out.println("hello");
}
}
上のコードでは、出力は"hello "
では、このコードの実行方法は?すべてのJavaプログラムはmainメソッドを持ち、mainメソッドが実行されます.メインメソッドはスレッドです.

Javaでスレッドを作成する方法?
Javaで複数スレッドを作ろう
class A extends Thread{
    public void run(){
        for( int i=0;i<5;i++){
        System.out.println("hi");
    }
    }
}
class B extends Thread {
    public void run(){
        for(int i=0;i<5;i++){
        System.out.println("hello");
        }
    }
}
public class multithreading{
    public static void main(String args[]){
            A obj=new A();
            B obj1=new B();
            obj.start();
            obj1.start();
    }
}

ジャバ
上記のコードでは、次の2つのクラスがあります.
  • クラスA
  • クラスB
  • 各クラスごとに単一のスレッドを提供します.スレッドクラスを拡張する必要があります.スレッドが動作するコードはrun ()メソッドで記述されます.クラスごとにオブジェクトを作成し、start ()メソッドを呼び出します.start ()メソッドはスレッドクラスにあります.このstart ()メソッドはスレッドの実行を開始します.
    異なる出力を同時に出力できない場合、出力は異なる場合が異なります.一つは、いくつかの基準と優先順位に基づいてそれらの間を選択します.
    //output1
    hi
    hello
    hi
    hello
    hi
    hello
    hi
    hello
    hi
    hello
    
    //output2
    hi
    hello
    hello
    hi
    hello
    hi
    hi
    hello
    hi
    hello
    
    
    これで3スレッド
  • クラスA糸
  • クラスB糸
  • Main ()スレッド
  • スレッドクラスのクラスメソッドをクラスAとクラスBで定義することで、クラスメソッドをオーバーライドしてはいけません.これは、親クラスではなく子クラスでstart ()メソッドを呼び出します.

    何が問題ですか.
    クラスAとスレッドを拡張するクラスCが欲しいです.
    class C extends A,Thread{
               //code
    }
    
    待って!これは複数の継承です.残念ながら、Javaには複数の継承がありません.その後、どのようにこれを克服するには?
    複数の継承はインターフェイスによって克服できます.ランナブルインターフェイスと呼ばれるインターフェイスがあります.
    class C extends A implements Runnable{
          //code
    }
    
    我々は実行可能なインターフェイスに入っていない.次の記事で詳しく説明します.

    マルチスレッドのアプリケーション
    マルチスレッドのアプリケーションがたくさんあります.のようにゲームをプレイしているとしましょう.あなたが移動することができますし、あなたの友人が移動することができますサウンドエフェクトは、誰かがこれらのアクションを撮影するときに同時に別のスレッドで実行されます.

    概要
  • スレッドは、建築242479182を構築する必要がある労働者のようです
  • 複数のスレッドが同時に動作することができます.
  • クラスはスレッドクラスを拡張する必要があります.
  • クラスのオブジェクトを作成します.run ()メソッドをobjで呼び出します.start ()
    読んでくれてありがとう.何かが間違っている場合は、私に知らせてください.
    ハッピーコーディング