Java スレッドとは
Java のスレッドは、java.lang のメンバーを指します。 .Thread クラス インスタンスまたはスレッドの実行。 java.lang.Thread または java.lang.Runnable インターフェースを使用して、新しいスレッドを定義、インスタンス化、開始するコードを記述します。
1, プロセス
プロセスとは、メモリ内で実行されるアプリケーションを指します。各プロセスには独自の独立したブロックがあります。メモリ空間、1 つのプロセスで複数のスレッドを開始できます。たとえば、Windows システムでは、実行中の exe がプロセスです。
2. スレッド
スレッドとは、プロセス内の実行プロセスを指し、プロセスは複数のスレッドを実行できます。たとえば、java.exe プロセスは多くのスレッドを実行できます。スレッドは常にプロセスに入り、プロセス内の複数のスレッドがプロセスのメモリを共有します。
推奨チュートリアル: java チュートリアル
3. Java のスレッド モデル
Java は純粋なオブジェクト指向言語であるため、 , Javaのスレッドモデルもオブジェクト指向です。 Java は、Thread クラスを通じて、スレッドに必要なすべての機能をカプセル化します。スレッドを作成するにはスレッド実行関数が必要であり、このスレッド実行関数はThreadクラスのrunメソッドに相当します。 Thread クラスには、スレッドの確立を担当する start メソッドもあります。これは、Windows スレッド作成関数 CreateThread を呼び出すのと同じです。 start メソッドが呼び出されたとき、スレッドの確立に成功すると、Thread クラスの run メソッドが自動的に呼び出されます。したがって、Thread を継承する Java クラスは、Thread クラスの start メソッドを通じてスレッドを作成できます。独自のスレッド実行関数を実行する場合は、Thread クラスの run メソッドをオーバーライドする必要があります。
Java スレッド モデルの Thread クラスに加えて、Java クラスをスレッド クラスとして使用できるかどうかを識別する Runnable インターフェイスもあります。このインターフェイスには、抽象メソッドが 1 つだけ実行されます。 Javaスレッドモデルのスレッド実行関数。したがって、スレッドクラスの判断基準は、Runnableインタフェースのrunメソッドを実装しているかどうか、つまりスレッド実行機能を持つクラスだけです。
上記のことからわかるように、Java でスレッドを作成するには 2 つの方法があります。1 つは Thread クラスを継承する方法です#、もう 1 つは Runnable インターフェイスを実装する方法です、およびスレッドは Thread および Runnable を実装するクラスを通じて作成されます。実際、これら 2 つのメソッドは本質的に同じメソッドです。つまり、どちらも Thread クラスを通じてスレッドを作成し、run メソッドを実行します。ただし、それらの大きな違いは、スレッドが Thread クラスを継承することによって作成されることです。実装は簡単ですが、Java は多重継承をサポートしていないため、このスレッド クラスが Thread を継承すると、他のクラスを継承できません。そのため、Java スレッド モデルは次のことを提供します。 Runnable インターフェイスを実装することでスレッドを確立するメソッド。これにより、必要に応じてスレッド クラスが Thread クラスの代わりにビジネス関連のクラスを継承できるようになります。
# Java で書かれたすべてのプログラムは Java 仮想マシン (JVM) 内で実行され、JVM 内ではプログラムのマルチタスクがスレッドを通じて実装されます。 java コマンドで Java アプリケーションが起動されるたびに、JVM プロセスが起動されます。同じ JVM プロセス内には、プロセス自体が 1 つだけ存在します。この JVM 環境では、すべてのプログラム コードがスレッドで実行されます。 # 通常、一般的な Java アプリケーションはシングルスレッドです。たとえば、java コマンドを使用して最も単純な HelloWorld Java アプリケーションを実行すると、JVM プロセスが開始され、JVM はプログラムのエントリ ポイント main() を見つけ、main() メソッドを実行してスレッドを作成します。このスレッドをメインスレッドと呼びます。 main メソッドが終了すると、メインスレッドが完了します。 JVM プロセスもすぐに終了します。以上がJavaスレッドとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。